[Bugfix] 修复授权树列表和资产树列表不同的bug

This commit is contained in:
ibuler
2018-04-26 19:51:32 +08:00
parent d5debc375e
commit 16aa42a861
4 changed files with 22 additions and 20 deletions

View File

@@ -108,18 +108,18 @@ class NodeChildrenApi(mixins.ListModelMixin, generics.CreateAPIView):
return node
def get_queryset(self):
queryset = []
queryset = set()
query_all = self.request.query_params.get("all")
query_assets = self.request.query_params.get('assets')
node = self.get_object()
if node == Node.root():
queryset.append(node)
queryset.add(node)
if query_all:
children = node.get_all_children()
else:
children = node.get_children()
queryset.extend(list(children))
queryset.update(set(children))
if query_assets:
assets = node.get_assets()
for asset in assets:
@@ -127,8 +127,9 @@ class NodeChildrenApi(mixins.ListModelMixin, generics.CreateAPIView):
node_fake.id = asset.id
node_fake.parent = node
node_fake.value = asset.hostname
node_fake.is_asset = True
queryset.append(node_fake)
node_fake.is_node = False
queryset.add(node_fake)
queryset = sorted(queryset, key=lambda x: x.is_node, reverse=True)
return queryset
def get(self, request, *args, **kwargs):