Merge pull request #2035 from jumpserver/origin_dev

Origin dev
pull/3944/head^2
老广 2018-11-14 12:49:47 +08:00 committed by GitHub
commit c0d51e22d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 7 deletions

View File

@ -411,18 +411,22 @@ class UserGrantedNodeChildrenApi(ListAPIView):
util = AssetPermissionUtil(self.request.user) util = AssetPermissionUtil(self.request.user)
node_id = self.request.query_params.get('id') node_id = self.request.query_params.get('id')
nodes_granted = util.get_nodes_with_assets() nodes_granted = util.get_nodes_with_assets()
if nodes_granted: if not nodes_granted:
first_node = sorted(nodes_granted, reverse=True)[0]
else:
return [] return []
root_nodes = [node for node in nodes_granted.keys() if node.is_root()]
queryset = []
if node_id and node_id in [str(node.id) for node in nodes_granted]: if node_id and node_id in [str(node.id) for node in nodes_granted]:
node = [node for node in nodes_granted if str(node.id) == node_id][0] node = [node for node in nodes_granted if str(node.id) == node_id][0]
else: elif len(root_nodes) == 1:
node = first_node node = root_nodes[0]
queryset = []
if node == first_node:
node.assets_amount = len(nodes_granted[node]) node.assets_amount = len(nodes_granted[node])
queryset.append(node) queryset.append(node)
else:
for node in root_nodes:
node.assets_amount = len(nodes_granted[node])
queryset.append(node)
return queryset
children = [] children = []
for child in node.get_children(): for child in node.get_children():