mirror of https://github.com/veops/cmdb.git
cmdb.sql update
This commit is contained in:
parent
92c163971c
commit
d492e7188c
|
@ -10,6 +10,7 @@ from api.lib.cmdb.cache import AttributeCache
|
||||||
from api.lib.cmdb.cache import CITypeAttributeCache
|
from api.lib.cmdb.cache import CITypeAttributeCache
|
||||||
from api.lib.cmdb.cache import CITypeCache
|
from api.lib.cmdb.cache import CITypeCache
|
||||||
from api.lib.decorator import kwargs_required
|
from api.lib.decorator import kwargs_required
|
||||||
|
from api.models.cmdb import CI
|
||||||
from api.models.cmdb import CIType
|
from api.models.cmdb import CIType
|
||||||
from api.models.cmdb import CITypeAttribute
|
from api.models.cmdb import CITypeAttribute
|
||||||
from api.models.cmdb import CITypeAttributeGroup
|
from api.models.cmdb import CITypeAttributeGroup
|
||||||
|
@ -17,6 +18,8 @@ from api.models.cmdb import CITypeAttributeGroupItem
|
||||||
from api.models.cmdb import CITypeGroup
|
from api.models.cmdb import CITypeGroup
|
||||||
from api.models.cmdb import CITypeGroupItem
|
from api.models.cmdb import CITypeGroupItem
|
||||||
from api.models.cmdb import CITypeRelation
|
from api.models.cmdb import CITypeRelation
|
||||||
|
from api.models.cmdb import PreferenceTreeView
|
||||||
|
from api.models.cmdb import PreferenceShowAttributes
|
||||||
|
|
||||||
|
|
||||||
class CITypeManager(object):
|
class CITypeManager(object):
|
||||||
|
@ -99,6 +102,22 @@ class CITypeManager(object):
|
||||||
@classmethod
|
@classmethod
|
||||||
def delete(cls, type_id):
|
def delete(cls, type_id):
|
||||||
ci_type = cls.check_is_existed(type_id)
|
ci_type = cls.check_is_existed(type_id)
|
||||||
|
|
||||||
|
if CI.get_by(type_id=type_id, first=True, to_dict=False) is not False:
|
||||||
|
return abort(400, "cannot delete, because CI instance exists")
|
||||||
|
|
||||||
|
for item in CITypeRelation.get_by(parent_id=type_id, to_dict=False):
|
||||||
|
item.soft_delete()
|
||||||
|
|
||||||
|
for item in CITypeRelation.get_by(child_id=type_id, to_dict=False):
|
||||||
|
item.soft_delete()
|
||||||
|
|
||||||
|
for item in PreferenceTreeView.get_by(type_id=type_id, to_dict=False):
|
||||||
|
item.soft_delete()
|
||||||
|
|
||||||
|
for item in PreferenceShowAttributes.get_by(type_id=type_id, to_dict=False):
|
||||||
|
item.soft_delete()
|
||||||
|
|
||||||
ci_type.soft_delete()
|
ci_type.soft_delete()
|
||||||
|
|
||||||
CITypeCache.clean(type_id)
|
CITypeCache.clean(type_id)
|
||||||
|
|
|
@ -137,7 +137,7 @@ class PreferenceManager(object):
|
||||||
def create_or_update_relation_view(cls, name, cr_ids):
|
def create_or_update_relation_view(cls, name, cr_ids):
|
||||||
existed = PreferenceRelationView.get_by(name=name, to_dict=False, first=True)
|
existed = PreferenceRelationView.get_by(name=name, to_dict=False, first=True)
|
||||||
if existed is None:
|
if existed is None:
|
||||||
return PreferenceRelationView.create(name=name, cr_ids=json.dumps(cr_ids))
|
PreferenceRelationView.create(name=name, cr_ids=json.dumps(cr_ids))
|
||||||
|
|
||||||
return cls.get_relation_view()
|
return cls.get_relation_view()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue