mirror of https://github.com/veops/cmdb.git
relation view [doing]
This commit is contained in:
parent
38b4293a33
commit
e351c7cf36
|
@ -114,8 +114,10 @@ class PreferenceManager(object):
|
||||||
def get_relation_view():
|
def get_relation_view():
|
||||||
views = PreferenceRelationView.get_by(to_dict=True)
|
views = PreferenceRelationView.get_by(to_dict=True)
|
||||||
result = dict()
|
result = dict()
|
||||||
|
name2id = list()
|
||||||
for view in views:
|
for view in views:
|
||||||
result.setdefault(view['name'], []).extend(json.loads(view['cr_ids']))
|
result.setdefault(view['name'], []).extend(json.loads(view['cr_ids']))
|
||||||
|
name2id.append([view['name'], view['id']])
|
||||||
|
|
||||||
id2type = dict()
|
id2type = dict()
|
||||||
for view_name in result:
|
for view_name in result:
|
||||||
|
@ -129,7 +131,7 @@ class PreferenceManager(object):
|
||||||
for type_id in id2type:
|
for type_id in id2type:
|
||||||
id2type[type_id] = CITypeCache.get(type_id).to_dict()
|
id2type[type_id] = CITypeCache.get(type_id).to_dict()
|
||||||
|
|
||||||
return result, id2type
|
return result, id2type, sorted(name2id, key=lambda x: x[1])
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create_or_update_relation_view(cls, name, cr_ids):
|
def create_or_update_relation_view(cls, name, cr_ids):
|
||||||
|
|
|
@ -71,18 +71,18 @@ class PreferenceRelationApiView(APIView):
|
||||||
url_prefix = "/preference/relation/view"
|
url_prefix = "/preference/relation/view"
|
||||||
|
|
||||||
def get(self):
|
def get(self):
|
||||||
views, id2type = PreferenceManager.get_relation_view()
|
views, id2type, name2id = PreferenceManager.get_relation_view()
|
||||||
|
|
||||||
return self.jsonify(views=views, id2type=id2type)
|
return self.jsonify(views=views, id2type=id2type, name2id=name2id)
|
||||||
|
|
||||||
@role_required(RoleEnum.CONFIG)
|
@role_required(RoleEnum.CONFIG)
|
||||||
@args_required("name")
|
@args_required("name")
|
||||||
def post(self):
|
def post(self):
|
||||||
name = request.values.get("name")
|
name = request.values.get("name")
|
||||||
cr_ids = request.values.get("cr_ids")
|
cr_ids = request.values.get("cr_ids")
|
||||||
views, id2type = PreferenceManager.create_or_update_relation_view(name, cr_ids)
|
views, id2type, name2id = PreferenceManager.create_or_update_relation_view(name, cr_ids)
|
||||||
|
|
||||||
return self.jsonify(views, id2type)
|
return self.jsonify(views=views, id2type=id2type, name2id=name2id)
|
||||||
|
|
||||||
def put(self):
|
def put(self):
|
||||||
return self.post()
|
return self.post()
|
||||||
|
|
Loading…
Reference in New Issue