From 341e687987998475fdc6b54f9a8f589e97caba02 Mon Sep 17 00:00:00 2001 From: pycook Date: Fri, 21 Jul 2023 15:58:41 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=81=E6=AD=A2=E5=88=A0=E9=99=A4=E5=94=AF?= =?UTF-8?q?=E4=B8=80=E6=A0=87=E8=AF=86=E7=9A=84=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- cmdb-api/api/lib/cmdb/attribute.py | 4 ++++ cmdb-api/api/lib/cmdb/resp_format.py | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 009287d..affb374 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,6 @@ docker-compose up -d --- -_**欢迎关注我们的公众号,点击联系我们,加入微信、qq运维群,获得更多产品、行业相关资讯**_ +_**欢迎关注我们的公众号,点击联系我们,加入微信、qq运维群(336164978),获得更多产品、行业相关资讯**_ ![公众号](docs/images/qrcode_for_gzh.jpg) diff --git a/cmdb-api/api/lib/cmdb/attribute.py b/cmdb-api/api/lib/cmdb/attribute.py index 97b2aaa..bc17d97 100644 --- a/cmdb-api/api/lib/cmdb/attribute.py +++ b/cmdb-api/api/lib/cmdb/attribute.py @@ -18,6 +18,7 @@ from api.lib.decorator import kwargs_required from api.lib.perm.acl.acl import is_app_admin from api.lib.perm.acl.acl import validate_permission from api.models.cmdb import Attribute +from api.models.cmdb import CIType from api.models.cmdb import CITypeAttribute from api.models.cmdb import CITypeAttributeGroupItem from api.models.cmdb import PreferenceShowAttributes @@ -315,6 +316,9 @@ class AttributeManager(object): attr = Attribute.get_by_id(_id) or abort(404, ErrFormat.attribute_not_found.format("id={}".format(_id))) name = attr.name + if CIType.get_by(unique_id=attr.id, first=True, to_dict=False) is not None: + return abort(400, ErrFormat.attribute_is_unique_id) + if attr.uid and attr.uid != g.user.uid: return abort(403, ErrFormat.cannot_delete_attribute) diff --git a/cmdb-api/api/lib/cmdb/resp_format.py b/cmdb-api/api/lib/cmdb/resp_format.py index ed21e86..7c53784 100644 --- a/cmdb-api/api/lib/cmdb/resp_format.py +++ b/cmdb-api/api/lib/cmdb/resp_format.py @@ -10,6 +10,7 @@ class ErrFormat(CommonErrFormat): argument_file_not_found = "文件似乎并未上传" attribute_not_found = "属性 {} 不存在!" + attribute_is_unique_id = "该属性是模型的唯一标识,不能被删除!" attribute_value_type_cannot_change = "属性的值类型不允许修改!" attribute_list_value_cannot_change = "多值不被允许修改!" attribute_index_cannot_change = "修改索引 非管理员不被允许!"