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():
|
||||
views = PreferenceRelationView.get_by(to_dict=True)
|
||||
result = dict()
|
||||
name2id = list()
|
||||
for view in views:
|
||||
result.setdefault(view['name'], []).extend(json.loads(view['cr_ids']))
|
||||
name2id.append([view['name'], view['id']])
|
||||
|
||||
id2type = dict()
|
||||
for view_name in result:
|
||||
|
@ -129,7 +131,7 @@ class PreferenceManager(object):
|
|||
for type_id in id2type:
|
||||
id2type[type_id] = CITypeCache.get(type_id).to_dict()
|
||||
|
||||
return result, id2type
|
||||
return result, id2type, sorted(name2id, key=lambda x: x[1])
|
||||
|
||||
@classmethod
|
||||
def create_or_update_relation_view(cls, name, cr_ids):
|
||||
|
|
|
@ -71,18 +71,18 @@ class PreferenceRelationApiView(APIView):
|
|||
url_prefix = "/preference/relation/view"
|
||||
|
||||
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)
|
||||
@args_required("name")
|
||||
def post(self):
|
||||
name = request.values.get("name")
|
||||
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):
|
||||
return self.post()
|
||||
|
|
Loading…
Reference in New Issue