From e1bb844b99d5833ccaf5861c31ad0e62879d9e10 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 9 Oct 2024 13:56:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=84=E7=90=86=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/system/views.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/apps/system/views.py b/apps/system/views.py index b141bfd8..9d6de383 100755 --- a/apps/system/views.py +++ b/apps/system/views.py @@ -23,7 +23,7 @@ from apps.system.filters import DeptFilterSet, UserFilterSet # from django_q.models import Task as QTask, Schedule as QSchedule from apps.utils.mixins import (CustomCreateModelMixin, MyLoggingMixin) from django.conf import settings -from apps.utils.permission import ALL_PERMS, get_user_perms_map +from apps.utils.permission import ALL_PERMS, get_user_perms_map, get_alld_perms from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from server.celery import app as celery_app from .models import (Dept, Dictionary, DictType, File, Permission, Post, PostRole, Role, User, @@ -42,6 +42,7 @@ from cron_descriptor import get_description import locale from drf_yasg.utils import swagger_auto_schema from server.settings import get_sysconfig, update_sysconfig, update_dict +from apps.utils.thread import MyThread # logger.info('请求成功! response_code:{};response_headers:{}; # response_body:{}'.format(response_code, response_headers, response_body[:251])) @@ -315,7 +316,18 @@ class PermissionViewSet(CustomModelViewSet): """ ALL_PERMS.sort() return Response(ALL_PERMS) - + + def perform_create(self, serializer): + super().perform_create(serializer) + MyThread(target=get_alld_perms, args=()).start_p() + + def perform_update(self, serializer): + super().perform_update(serializer) + MyThread(target=get_alld_perms, args=()).start_p() + + def perform_destroy(self, instance): + super().perform_destroy(instance) + MyThread(target=get_alld_perms, args=()).start_p() class DeptViewSet(CustomModelViewSet): """部门-增删改查 @@ -480,7 +492,7 @@ class UserViewSet(CustomModelViewSet): 获取登录用户信息 """ user = request.user - perms = get_user_perms_map(user) + perms = get_user_perms_map(user, update_cache=True) data = { 'id': user.id, 'username': user.username,