fix(perms): 作业中心-批量命令-选择系统用户之后,左侧资产列表未筛选,还是全部资产

This commit is contained in:
xinwen
2020-11-17 18:27:09 +08:00
committed by 老广
parent 31cd441a34
commit 3e78d627f8
4 changed files with 139 additions and 29 deletions

View File

@@ -20,9 +20,13 @@ class FavoriteAsset(CommonModelMixin):
return cls.objects.filter(user=user).values_list('asset', flat=True)
@classmethod
def get_user_favorite_assets(cls, user):
def get_user_favorite_assets(cls, user, asset_perms_id=None):
from assets.models import Asset
from perms.utils.asset.user_permission import get_user_granted_all_assets
asset_ids = get_user_granted_all_assets(user).values_list('id', flat=True)
asset_ids = get_user_granted_all_assets(
user,
via_mapping_node=False,
asset_perms_id=asset_perms_id
).values_list('id', flat=True)
query_name = cls.asset.field.related_query_name()
return Asset.org_objects.filter(**{f'{query_name}__user_id': user.id}, id__in=asset_ids).distinct()