fix: 俱乐部000001不再展示集团级后台菜单与俱乐部密钥配置

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-06-28 16:52:25 +08:00
parent 5be696db9d
commit 2003ee01a5
4 changed files with 36 additions and 22 deletions

View File

@@ -20,11 +20,7 @@ def build_admin_club_context(user):
返回 dict 供前端存储与请求头使用。
"""
yonghuid = user.UserUID
is_super = (
bool(user.IsSuperuser)
or user.UserType == 'admin'
or getattr(user, 'Phone', '') in SUPER_ADMIN_PHONES
)
is_super = is_system_super_admin(user)
assignments = list(
AdminAssignment.query.filter(yonghuid=yonghuid, status=1).order_by('-is_primary', 'club_id')
@@ -96,15 +92,18 @@ def build_admin_club_context(user):
)
def can_manage_admin_assignments(user, permissions=None):
"""是否可维护数据范围任职(超管 / 000001 / 集团超管任职)"""
permissions = permissions or []
is_super = (
def is_system_super_admin(user):
"""系统级超管Django 超管 / admin 账号 / 白名单手机号),非俱乐部 000001 角色"""
return (
bool(user.IsSuperuser)
or user.UserType == 'admin'
or getattr(user, 'Phone', '') in SUPER_ADMIN_PHONES
)
if is_super or '000001' in permissions:
def can_manage_admin_assignments(user, permissions=None):
"""是否可维护数据范围任职、俱乐部密钥等集团级配置(不含俱乐部 000001"""
if is_system_super_admin(user):
return True
ctx = build_admin_club_context(user)
if ctx.get('is_group_admin') and ctx.get('role_code') in GROUP_MANAGE_ROLES: