fix(permission): 修复权限获取 bug
- 将 MenuButton 查询结果改为 values_list,获取多个匹配项的 ID - 更新 RoleMenuButtonPermission 查询条件,支持多个菜单按钮 ID
This commit is contained in:
@@ -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 = [] # 权限范围列表
|
||||||
|
|||||||
Reference in New Issue
Block a user