diff --git a/client/src/views/ability/cma2.vue b/client/src/views/ability/cma2.vue index 529aa47..1fa1303 100644 --- a/client/src/views/ability/cma2.vue +++ b/client/src/views/ability/cma2.vue @@ -94,9 +94,6 @@ - - - diff --git a/server/apps/system/views.py b/server/apps/system/views.py index 8b33a33..040692b 100644 --- a/server/apps/system/views.py +++ b/server/apps/system/views.py @@ -6,7 +6,8 @@ from django.core.cache import cache from django.http import request from django_filters.rest_framework import DjangoFilterBackend from rest_framework import status -from rest_framework.decorators import action, authentication_classes, permission_classes +from rest_framework.decorators import (action, authentication_classes, + permission_classes) from rest_framework.filters import OrderingFilter, SearchFilter from rest_framework.mixins import (CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin, @@ -17,19 +18,18 @@ from rest_framework.response import Response from rest_framework.views import APIView from rest_framework.viewsets import GenericViewSet, ModelViewSet from rest_framework_simplejwt.tokens import RefreshToken - from utils.queryset import get_child_queryset2 from .filters import UserFilter -from .models import (Dict, DictType, Organization, Permission, Position, Role, - User, File, Message) +from .models import (Dict, DictType, File, Message, Organization, Permission, + Position, Role, User) from .permission import RbacPermission, get_permission_list from .permission_data import RbacFilterSet -from .serializers import (DictSerializer, DictTypeSerializer, +from .serializers import (DictSerializer, DictTypeSerializer, FileSerializer, OrganizationSerializer, PermissionSerializer, PositionSerializer, RoleSerializer, UserCreateSerializer, UserListSerializer, - UserModifySerializer, FileSerializer) + UserModifySerializer) logger = logging.getLogger('log') # logger.info('请求成功! response_code:{};response_headers:{};response_body:{}'.format(response_code, response_headers, response_body[:251])) @@ -42,14 +42,16 @@ class LogoutView(APIView): def get(self, request, *args, **kwargs): # 可将token加入黑名单 return Response(status=status.HTTP_200_OK) +import random import smtplib +import string +from email.header import Header from email.mime.text import MIMEText from email.utils import formataddr -from email.header import Header -import random from rest_framework_simplejwt.tokens import RefreshToken + def get_tokens_for_user(user): refresh = RefreshToken.for_user(user) return { @@ -57,6 +59,8 @@ def get_tokens_for_user(user): 'access': str(refresh.access_token), } import datetime + + class Login2View(APIView): authentication_classes = [] permission_classes = [] @@ -227,13 +231,14 @@ class UserViewSet(ModelViewSet): return UserListSerializer return UserModifySerializer + def create(self, request, *args, **kwargs): # 创建用户默认添加密码 password = request.data['password'] if 'password' in request.data else None if password: password = make_password(password) else: - password = make_password('0000') + password = make_password(''.join(random.sample(string.ascii_letters + string.digits, 8))) serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) serializer.save(password=password) @@ -278,9 +283,13 @@ class UserViewSet(ModelViewSet): } return Response(data) -from rest_framework.parsers import MultiPartParser, JSONParser, FileUploadParser -from .mixins import CreateModelAMixin from django.conf import settings +from rest_framework.parsers import (FileUploadParser, JSONParser, + MultiPartParser) + +from .mixins import CreateModelAMixin + + class FileViewSet(ModelViewSet): """ 文件:增删改查