Skip to content

Commit 785b375

Browse files
committed
[Bugfix] 修复授权列表用户无法搜索的bug
1 parent fbfbfcc commit 785b375

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

apps/perms/api/asset_permission.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ def filter_asset(self, queryset):
115115
def filter_user(self, queryset):
116116
user_id = self.request.query_params.get('user_id')
117117
username = self.request.query_params.get('username')
118+
query_group = self.request.query_params.get('all')
118119
if user_id:
119120
user = get_object_or_none(User, pk=user_id)
120121
elif username:
@@ -123,6 +124,15 @@ def filter_user(self, queryset):
123124
return queryset
124125
if not user:
125126
return queryset.none()
127+
else:
128+
kwargs = {}
129+
args = []
130+
if query_group:
131+
groups = user.groups.all()
132+
args.append(Q(users=user) | Q(user_groups__in=groups))
133+
else:
134+
kwargs["users"] = user
135+
return queryset.filter(*args, **kwargs).distinct()
126136

127137
def filter_user_group(self, queryset):
128138
user_group_id = self.request.query_params.get('user_group_id')
@@ -148,6 +158,7 @@ def filter_keyword(self, queryset):
148158
def filter_queryset(self, queryset):
149159
queryset = super().filter_queryset(queryset)
150160
queryset = self.filter_valid(queryset)
161+
queryset = self.filter_user(queryset)
151162
queryset = self.filter_keyword(queryset)
152163
queryset = self.filter_asset(queryset)
153164
queryset = self.filter_node(queryset)

0 commit comments

Comments
 (0)