fix: 俱乐部000001不再展开全部菜单权限

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-06 18:32:01 +08:00
parent 7c763ad5b4
commit 64ddb7d0b8
3 changed files with 10 additions and 15 deletions

View File

@@ -213,21 +213,15 @@ def verify_kefu_permission(request, username_from_frontend=None):
)
permissions = []
# 旧权限表user_role 按手机号),与 gvsdsdk 合并
# 旧权限表user_role 按手机号):仅在没有 gvsdsdk 角色绑定时兜底,避免污染多俱乐部权限
legacy_codes, _ = _legacy_backend_role_permissions(current_user.Phone)
if legacy_codes:
if isinstance(permissions, _AllPermissions):
pass
else:
permissions = list(set(list(permissions) + legacy_codes))
if legacy_codes and not role_uuids:
permissions = list(set(list(permissions) + legacy_codes))
# 管理员/超级用户自动拥有所有权限
if is_admin and '000001' not in permissions:
permissions.insert(0, '000001')
# 拥有 000001超级管理权限的用户自动获得所有功能权限
# 使用 _AllPermissions 包装,使任何权限码检查都自动通过
if '000001' in permissions:
# 仅系统级超管自动拥有全部功能权限;俱乐部 000001 只解锁超管页,不展开全部菜单
if is_system_super_admin(current_user):
if '000001' not in permissions:
permissions.insert(0, '000001')
permissions = _AllPermissions(permissions)
if not permissions: