fix: 俱乐部+全局角色权限并集,修复002ac校验

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-06 18:44:11 +08:00
parent 1e54d8b871
commit 553d2d5707
2 changed files with 11 additions and 7 deletions

View File

@@ -149,11 +149,8 @@ def filter_role_uuids_for_club_scope(role_uuids, club_id, scope, allowed_club_id
)
return list(qs.filter(ClubID='').values_list('RoleUUID', flat=True))
cid = (club_id or CLUB_ID_DEFAULT).strip()
# 优先本俱乐部专属角色,避免全局角色权限串到其他俱乐部
club_specific = qs.filter(ClubID=cid)
if club_specific.exists():
return list(club_specific.values_list('RoleUUID', flat=True))
return list(qs.filter(ClubID='').values_list('RoleUUID', flat=True))
# 本俱乐部专属角色 + 全局角色权限取并集002ac 等常在全局角色上)
return list(qs.filter(Q(ClubID=cid) | Q(ClubID='')).values_list('RoleUUID', flat=True))
def resolve_permission_codes_for_club(user, club_id, allowed_club_ids=None):