fix(perms): 授权树与资产列表的一些 bug

pull/4767/head
xinwen 2020-10-10 16:27:29 +08:00 committed by 老广
parent 873789bdab
commit 535d7d8373
3 changed files with 6 additions and 2 deletions

View File

@ -18,7 +18,7 @@ class AssetLimitOffsetPagination(LimitOffsetPagination):
self.limit_query_param,
self.offset_query_param,
'node', 'all', 'show_current_asset',
'node_id', 'display', 'draw',
'node_id', 'display', 'draw', 'fields_size',
}
for k, v in self._request.query_params.items():

View File

@ -3,6 +3,7 @@
from rest_framework.generics import ListAPIView
from rest_framework.request import Request
from rest_framework.response import Response
from django.db.models import F
from common.permissions import IsValidUser
from common.utils import get_logger, get_object_or_none
@ -41,6 +42,7 @@ class MyGrantedNodesWithAssetsAsTreeApi(SerializeToTreeNodeMixin, ListAPIView):
rebuild_user_tree_if_need(request, user)
all_nodes = get_user_granted_nodes_list_via_mapping_node(user)
all_assets = get_user_granted_all_assets(user)
all_assets = all_assets.annotate(parent_key=F('nodes__key'))
data = [
*self.serialize_nodes(all_nodes, with_asset_amount=True),

View File

@ -35,7 +35,9 @@ def on_asset_permission_delete(instance, **kwargs):
def create_rebuild_user_tree_task_by_asset_perm(asset_perm: AssetPermission):
user_ids = set()
user_ids.update(
UserGroup.objects.filter(assetpermissions=asset_perm).distinct().values_list('users__id', flat=True)
UserGroup.objects.filter(
assetpermissions=asset_perm, users__id__isnull=False
).distinct().values_list('users__id', flat=True)
)
user_ids.update(
User.objects.filter(assetpermissions=asset_perm).distinct().values_list('id', flat=True)