mirror of https://github.com/veops/cmdb.git
禁止删除唯一标识的属性
This commit is contained in:
parent
93d9804127
commit
341e687987
|
@ -83,6 +83,6 @@ docker-compose up -d
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
_**欢迎关注我们的公众号,点击联系我们,加入微信、qq运维群,获得更多产品、行业相关资讯**_
|
_**欢迎关注我们的公众号,点击联系我们,加入微信、qq运维群(336164978),获得更多产品、行业相关资讯**_
|
||||||
|
|
||||||

|

|
||||||
|
|
|
@ -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 is_app_admin
|
||||||
from api.lib.perm.acl.acl import validate_permission
|
from api.lib.perm.acl.acl import validate_permission
|
||||||
from api.models.cmdb import Attribute
|
from api.models.cmdb import Attribute
|
||||||
|
from api.models.cmdb import CIType
|
||||||
from api.models.cmdb import CITypeAttribute
|
from api.models.cmdb import CITypeAttribute
|
||||||
from api.models.cmdb import CITypeAttributeGroupItem
|
from api.models.cmdb import CITypeAttributeGroupItem
|
||||||
from api.models.cmdb import PreferenceShowAttributes
|
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)))
|
attr = Attribute.get_by_id(_id) or abort(404, ErrFormat.attribute_not_found.format("id={}".format(_id)))
|
||||||
name = attr.name
|
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:
|
if attr.uid and attr.uid != g.user.uid:
|
||||||
return abort(403, ErrFormat.cannot_delete_attribute)
|
return abort(403, ErrFormat.cannot_delete_attribute)
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ class ErrFormat(CommonErrFormat):
|
||||||
argument_file_not_found = "文件似乎并未上传"
|
argument_file_not_found = "文件似乎并未上传"
|
||||||
|
|
||||||
attribute_not_found = "属性 {} 不存在!"
|
attribute_not_found = "属性 {} 不存在!"
|
||||||
|
attribute_is_unique_id = "该属性是模型的唯一标识,不能被删除!"
|
||||||
attribute_value_type_cannot_change = "属性的值类型不允许修改!"
|
attribute_value_type_cannot_change = "属性的值类型不允许修改!"
|
||||||
attribute_list_value_cannot_change = "多值不被允许修改!"
|
attribute_list_value_cannot_change = "多值不被允许修改!"
|
||||||
attribute_index_cannot_change = "修改索引 非管理员不被允许!"
|
attribute_index_cannot_change = "修改索引 非管理员不被允许!"
|
||||||
|
|
Loading…
Reference in New Issue