From 89db5a060e54c0e5cfad3228fa8ed892d0ad5aa2 Mon Sep 17 00:00:00 2001 From: pycook Date: Thu, 26 Dec 2024 13:57:05 +0800 Subject: [PATCH] fix(api): search for attr filter --- cmdb-api/api/lib/cmdb/search/ci/db/search.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmdb-api/api/lib/cmdb/search/ci/db/search.py b/cmdb-api/api/lib/cmdb/search/ci/db/search.py index d5cb905..e76ba3b 100644 --- a/cmdb-api/api/lib/cmdb/search/ci/db/search.py +++ b/cmdb-api/api/lib/cmdb/search/ci/db/search.py @@ -6,6 +6,7 @@ from __future__ import unicode_literals import copy import six import time +from flask import abort from flask import current_app from flask_login import current_user from jinja2 import Template @@ -152,7 +153,9 @@ class Search(object): if not self.fl: self.fl = set(self.type2filter_perms[ci_type.id]['attr_filter']) else: - self.fl = set(self.fl) & set(self.type2filter_perms[ci_type.id]['attr_filter']) + fl = set(self.fl) & set(self.type2filter_perms[ci_type.id]['attr_filter']) + not fl and abort(400, ErrFormat.ci_filter_perm_attr_no_permission.format(self.fl)) + self.fl = fl else: self.fl = self.fl or {} if not self.fl or isinstance(self.fl, dict):