fix: 俱乐部000001不再展示集团级后台菜单与俱乐部密钥配置
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user