fix(permission): 修复权限获取 bug

- 将 MenuButton 查询结果改为 values_list,获取多个匹配项的 ID
- 更新 RoleMenuButtonPermission 查询条件,支持多个菜单按钮 ID
This commit is contained in:
liqiang
2025-03-02 01:00:43 +08:00
parent a030409c46
commit 2ab80758f0

View File

@@ -150,13 +150,13 @@ class DataLevelPermissionsFilter(BaseFilterBackend):
re_api = re.sub(_pk,'{id}', api) re_api = re.sub(_pk,'{id}', api)
role_id_list = request.user.role.values_list('id', flat=True) role_id_list = request.user.role.values_list('id', flat=True)
# 修复权限获取bug # 修复权限获取bug
menu_button_obj = MenuButton.objects.filter(api=re_api, method=method).first() menu_button_ids = MenuButton.objects.filter(api=re_api,method=method).values_list('id', flat=True)
role_permission_list = [] role_permission_list = []
if menu_button_obj: if menu_button_ids:
role_permission_list=RoleMenuButtonPermission.objects.filter( role_permission_list=RoleMenuButtonPermission.objects.filter(
role__in=role_id_list, role__in=role_id_list,
role__status=1, role__status=1,
menu_button=menu_button_obj).values( menu_button_id__in=menu_button_ids).values(
'data_range' 'data_range'
) )
dataScope_list = [] # 权限范围列表 dataScope_list = [] # 权限范围列表