fix(role_per_20240628): 优化权限配置

1、修复第一次选择自定义数据权限无法设置的bug
This commit is contained in:
李小涛
2024-06-28 15:46:44 +08:00
parent 087d478094
commit 0779cc1a84

View File

@@ -307,16 +307,17 @@ class RoleMenuButtonPermissionViewSet(CustomModelViewSet):
params = request.query_params params = request.query_params
role_id = params.get('role') role_id = params.get('role')
menu_button_id = params.get('menu_button') menu_button_id = params.get('menu_button')
dept_checked = RoleMenuButtonPermission.objects.filter( dept_checked = RoleMenuButtonPermission.objects.get(
role_id=role_id, menu_button_id=menu_button_id role_id=role_id, menu_button_id=menu_button_id
).values_list('dept', flat=True) ).dept.all().values_list('id', flat=True)
dept_list = Dept.objects.values('id', 'name', 'parent') dept_list = Dept.objects.values('id', 'name', 'parent')
data = { data = {
'depts': [], 'depts': [],
'dept_checked': dept_checked 'dept_checked': dept_checked if dept_checked.exists() else []
} }
for dept in dept_list: for dept in dept_list:
dept["disabled"] = not (is_superuser | dept["id"] in dept_checked) dept["disabled"] = False if is_superuser else dept["id"] not in dept_checked
data['depts'].append(dept) data['depts'].append(dept)
return DetailResponse(data=data) return DetailResponse(data=data)