mirror of https://github.com/veops/cmdb.git
ci search return unique key
This commit is contained in:
parent
2615fd7661
commit
56baa2bedc
|
@ -34,6 +34,8 @@ from api.models.cmdb import CITypeAttribute
|
||||||
from api.tasks.cmdb import ci_cache
|
from api.tasks.cmdb import ci_cache
|
||||||
from api.tasks.cmdb import ci_delete
|
from api.tasks.cmdb import ci_delete
|
||||||
|
|
||||||
|
__author__ = 'pycook'
|
||||||
|
|
||||||
|
|
||||||
class CIManager(object):
|
class CIManager(object):
|
||||||
""" manage CI interface
|
""" manage CI interface
|
||||||
|
@ -104,8 +106,12 @@ class CIManager(object):
|
||||||
res["ci_type"] = ci_type.name
|
res["ci_type"] = ci_type.name
|
||||||
|
|
||||||
fields = CITypeAttributeManager.get_attr_names_by_type_id(ci.type_id) if not fields else fields
|
fields = CITypeAttributeManager.get_attr_names_by_type_id(ci.type_id) if not fields else fields
|
||||||
|
unique_key = AttributeCache.get(ci_type.unique_id)
|
||||||
_res = AttributeValueManager().get_attr_values(fields, ci_id, ret_key=ret_key, use_master=use_master)
|
_res = AttributeValueManager().get_attr_values(fields,
|
||||||
|
ci_id,
|
||||||
|
ret_key=ret_key,
|
||||||
|
unique_key=unique_key,
|
||||||
|
use_master=use_master)
|
||||||
res.update(_res)
|
res.update(_res)
|
||||||
|
|
||||||
res['_type'] = ci_type.id
|
res['_type'] = ci_type.id
|
||||||
|
@ -164,9 +170,9 @@ class CIManager(object):
|
||||||
unique_key = AttributeCache.get(ci_type.unique_id) or abort(400, 'illegality unique attribute')
|
unique_key = AttributeCache.get(ci_type.unique_id) or abort(400, 'illegality unique attribute')
|
||||||
|
|
||||||
unique_value = ci_dict.get(unique_key.name) or \
|
unique_value = ci_dict.get(unique_key.name) or \
|
||||||
ci_dict.get(unique_key.alias) or \
|
ci_dict.get(unique_key.alias) or \
|
||||||
ci_dict.get(unique_key.id) or \
|
ci_dict.get(unique_key.id) or \
|
||||||
abort(400, '{0} missing'.format(unique_key.name))
|
abort(400, '{0} missing'.format(unique_key.name))
|
||||||
|
|
||||||
existed = cls.ci_is_exist(unique_key, unique_value)
|
existed = cls.ci_is_exist(unique_key, unique_value)
|
||||||
if existed is not None:
|
if existed is not None:
|
||||||
|
|
Loading…
Reference in New Issue