[Bugfix] 修复luna不显示多组织资产的问题

pull/2034/head
ibuler 2018-11-14 12:47:43 +08:00
parent ff1b902b2e
commit 4d26fd8b56
1 changed files with 13 additions and 8 deletions

View File

@ -411,18 +411,23 @@ 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 []
if node_id and node_id in [str(node.id) for node in nodes_granted]: root_nodes = [node for node in nodes_granted.keys() if node.is_root()]
node = [node for node in nodes_granted if str(node.id) == node_id][0]
else:
node = first_node
queryset = [] queryset = []
if node == first_node: 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]
elif len(root_nodes) == 1:
node = root_nodes[0]
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():