From 75db7ae1638a849b23d0c7a6fa32782b0b473a21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BC=BA?= <1206709430@qq.com> Date: Wed, 1 Jun 2022 17:18:22 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8DBUG:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E8=8E=B7=E5=8F=96=E6=8C=89=E9=92=AE=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=88=97=E8=A1=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/dvadmin/system/views/menu.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/dvadmin/system/views/menu.py b/backend/dvadmin/system/views/menu.py index c7f7d2f..cbe7570 100644 --- a/backend/dvadmin/system/views/menu.py +++ b/backend/dvadmin/system/views/menu.py @@ -23,7 +23,7 @@ class MenuSerializer(CustomModelSerializer): menuPermission = serializers.SerializerMethodField(read_only=True) def get_menuPermission(self, instance): - queryset = MenuButton.objects.filter(menu=instance.id).order_by('-name').values_list('name', flat=True) + queryset = instance.menuPermission.order_by('-name').values_list('name', flat=True) if queryset: return queryset else: @@ -65,7 +65,7 @@ class MenuInitSerializer(CustomModelSerializer): def get_menu_button(self, obj: Menu): data = [] - instance = MenuButton.objects.filter(menu_id=obj.id).order_by('method') + instance = obj.menuPermission.order_by('method') if instance: data = list(instance.values('name', 'value', 'api', 'method')) return data @@ -124,11 +124,11 @@ class WebRouterSerializer(CustomModelSerializer): def get_menuPermission(self, instance): # 判断是否是超级管理员 if self.request.user.is_superuser: - return MenuButton.objects.values_list('value', flat=True) + return instance.menuPermission.values_list('value', flat=True) else: # 根据当前角色获取权限按钮id集合 permissionIds = self.request.user.role.values_list('permission', flat=True) - queryset = MenuButton.objects.filter(id__in=permissionIds, menu=instance.id).values_list('value', flat=True) + queryset = instance.menuPermission.filter(id__in=permissionIds, menu=instance.id).values_list('value', flat=True) if queryset: return queryset else: From 6f99989def1285dcacc821002e544dc9bb109d4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BC=BA?= <1206709430@qq.com> Date: Wed, 1 Jun 2022 17:33:38 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=8F=98=E5=8C=96:=20?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=8F=9C=E5=8D=95=E6=8E=A5=E5=8F=A3=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=A4=9A=E4=BD=99=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/dvadmin/system/views/menu.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/dvadmin/system/views/menu.py b/backend/dvadmin/system/views/menu.py index cbe7570..7932f7f 100644 --- a/backend/dvadmin/system/views/menu.py +++ b/backend/dvadmin/system/views/menu.py @@ -136,7 +136,8 @@ class WebRouterSerializer(CustomModelSerializer): class Meta: model = Menu - fields = "__all__" + fields = ('id', 'parent', 'icon', 'sort', 'path', 'name', 'title', 'is_link', 'is_catalog', 'web_path', 'component', + 'component_name', 'cache', 'visible', 'menuPermission') read_only_fields = ["id"] From dd19581594d269ab7cfa672e01cbb179b9153501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BC=BA?= <1206709430@qq.com> Date: Wed, 1 Jun 2022 19:33:13 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8DBUG:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=8E=A5=E5=8F=A3=E6=9C=AA=E5=81=9A=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8Cbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/dvadmin/system/views/menu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/dvadmin/system/views/menu.py b/backend/dvadmin/system/views/menu.py index 7932f7f..cd75951 100644 --- a/backend/dvadmin/system/views/menu.py +++ b/backend/dvadmin/system/views/menu.py @@ -156,7 +156,7 @@ class MenuViewSet(CustomModelViewSet): update_serializer_class = MenuCreateSerializer search_fields = ['name', 'status'] filter_fields = ['parent', 'name', 'status', 'is_link', 'visible', 'cache', 'is_catalog'] - extra_filter_backends = [] + # extra_filter_backends = [] @action(methods=['GET'], detail=False, permission_classes=[]) def web_router(self, request):