From ad6ec5ca58895cbb90c816ce9390ea7e058187fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8C=BF=E5=B0=8F=E5=A4=A9?= <1638245306@qq.com> Date: Mon, 11 Sep 2023 11:33:09 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E5=AD=97=E6=AE=B5=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E4=B8=BA=E8=B6=85?= =?UTF-8?q?=E7=BA=A7=E7=AE=A1=E7=90=86=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/dvadmin/utils/field_permission.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/backend/dvadmin/utils/field_permission.py b/backend/dvadmin/utils/field_permission.py index eb4c6ca..939381b 100644 --- a/backend/dvadmin/utils/field_permission.py +++ b/backend/dvadmin/utils/field_permission.py @@ -23,7 +23,16 @@ class FieldPermissionMixin: break if finded is False: return [] - data= Columns.objects.filter( - app=model['app'], model=model['model'] - ).values('field_name', 'is_create', 'is_query', 'is_update') + roles = request.user.role.values_list('id', flat=True) + user = request.user + if user.is_superuser==1: + data = Columns.objects.filter(app=model['app'], model=model['model']).values('field_name', 'is_create', 'is_query', 'is_update') + for item in data: + item['is_create'] = True + item['is_query'] = True + item['is_update'] = True + else: + data= Columns.objects.filter( + app=model['app'], model=model['model'],role__in=roles + ).values('field_name', 'is_create', 'is_query', 'is_update') return DetailResponse(data=data) \ No newline at end of file