fix: 后台停用/禁用真正生效(重复集团任职与超管绕过)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -157,8 +157,29 @@ def is_system_super_admin(user):
|
||||
)
|
||||
|
||||
|
||||
def is_hardcoded_super_phone(user):
|
||||
"""仅代码白名单手机号(不可被后台「禁用」锁死本人)。"""
|
||||
return getattr(user, 'Phone', '') in SUPER_ADMIN_PHONES
|
||||
|
||||
|
||||
def is_kefu_account_disabled(user):
|
||||
"""
|
||||
客服扩展表已禁用。
|
||||
非白名单账号:即使挂了 IsSuperuser 也必须认 zhuangtai(否则后台点禁用等于摆设)。
|
||||
"""
|
||||
if is_hardcoded_super_phone(user):
|
||||
return False
|
||||
try:
|
||||
kefu = user.KefuProfile
|
||||
except Exception:
|
||||
return False
|
||||
return int(getattr(kefu, 'zhuangtai', 1) or 0) != 1
|
||||
|
||||
|
||||
def is_kefu_backend_account(user):
|
||||
"""可登录客服后台:超管 / UserType=kefu / 有正常 KefuProfile。"""
|
||||
if is_kefu_account_disabled(user):
|
||||
return False
|
||||
if is_system_super_admin(user):
|
||||
return True
|
||||
if getattr(user, 'UserType', '') == 'kefu':
|
||||
|
||||
Reference in New Issue
Block a user