From 0779cc1a842a071736996f74a356bfe2bec09a66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=B0=8F=E6=B6=9B?= <1537080775@qq.com> Date: Fri, 28 Jun 2024 15:46:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(role=5Fper=5F20240628):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=9D=83=E9=99=90=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、修复第一次选择自定义数据权限无法设置的bug --- .../dvadmin/system/views/role_menu_button_permission.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/backend/dvadmin/system/views/role_menu_button_permission.py b/backend/dvadmin/system/views/role_menu_button_permission.py index 4c933f4..b53c31d 100644 --- a/backend/dvadmin/system/views/role_menu_button_permission.py +++ b/backend/dvadmin/system/views/role_menu_button_permission.py @@ -307,16 +307,17 @@ class RoleMenuButtonPermissionViewSet(CustomModelViewSet): params = request.query_params role_id = params.get('role') 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 - ).values_list('dept', flat=True) + ).dept.all().values_list('id', flat=True) dept_list = Dept.objects.values('id', 'name', 'parent') data = { 'depts': [], - 'dept_checked': dept_checked + 'dept_checked': dept_checked if dept_checked.exists() else [] } + 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) return DetailResponse(data=data)