fix: menu_access 返回 permission_codes 便于排查无菜单权限
This commit is contained in:
@@ -38,6 +38,12 @@ def _page_visible(page, permissions, user):
|
|||||||
return any(code in permissions for code in codes)
|
return any(code in permissions for code in codes)
|
||||||
|
|
||||||
|
|
||||||
|
def _permission_codes_list(permissions):
|
||||||
|
if _is_super_permissions(permissions):
|
||||||
|
return ['000001']
|
||||||
|
return list(permissions) if permissions else []
|
||||||
|
|
||||||
|
|
||||||
def build_menu_access_payload(request, username=None):
|
def build_menu_access_payload(request, username=None):
|
||||||
"""
|
"""
|
||||||
根据用户 gvsdsdk 权限计算可见菜单 page_id 列表。
|
根据用户 gvsdsdk 权限计算可见菜单 page_id 列表。
|
||||||
@@ -79,6 +85,7 @@ def build_menu_access_payload(request, username=None):
|
|||||||
return {
|
return {
|
||||||
'visible_page_ids': sorted(set(visible_ids)),
|
'visible_page_ids': sorted(set(visible_ids)),
|
||||||
'visible_paths': visible_paths,
|
'visible_paths': visible_paths,
|
||||||
|
'permission_codes': _permission_codes_list(permissions),
|
||||||
'can_switch_club': bool(club_ctx.get('can_switch_club')),
|
'can_switch_club': bool(club_ctx.get('can_switch_club')),
|
||||||
'is_group_admin': bool(club_ctx.get('is_group_admin')),
|
'is_group_admin': bool(club_ctx.get('is_group_admin')),
|
||||||
'menu_ready': bool(pages),
|
'menu_ready': bool(pages),
|
||||||
|
|||||||
@@ -169,8 +169,10 @@ class ClubKefuLoginView(APIView):
|
|||||||
'menu_access': menu_access if menu_access else {
|
'menu_access': menu_access if menu_access else {
|
||||||
'visible_page_ids': [],
|
'visible_page_ids': [],
|
||||||
'visible_paths': [],
|
'visible_paths': [],
|
||||||
|
'permission_codes': [],
|
||||||
'can_switch_club': False,
|
'can_switch_club': False,
|
||||||
'is_group_admin': False,
|
'is_group_admin': False,
|
||||||
|
'menu_ready': False,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user