You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.7 KiB
54 lines
1.7 KiB
from rest_framework import mixins
|
|
from rest_framework.generics import GenericAPIView
|
|
from rest_framework.viewsets import GenericViewSet
|
|
|
|
from ERP_5.utils.base_views import MultipleDestroyMixin
|
|
from ERP_5.utils.paginations import GlobalPagination
|
|
from erp_system.models import UserModel
|
|
from erp_system.serializers.user_serializer import UserAddSerializer, UserUpdateDeleteSerializer, UserGetSerializer, \
|
|
ResetPasswordSerializer
|
|
|
|
|
|
class RegisterUserView(mixins.CreateModelMixin, GenericViewSet):
|
|
"""
|
|
create:
|
|
用户注册。
|
|
|
|
并且把用户注册之后的用户信息返回
|
|
"""
|
|
queryset = UserModel.objects.all()
|
|
serializer_class = UserAddSerializer
|
|
|
|
|
|
class UserView(mixins.RetrieveModelMixin,
|
|
mixins.UpdateModelMixin,
|
|
mixins.DestroyModelMixin,
|
|
mixins.ListModelMixin,
|
|
MultipleDestroyMixin, # 批量删除用户
|
|
GenericViewSet):
|
|
"""
|
|
没有用户注册和修改用户密码的模型类
|
|
"""
|
|
queryset = UserModel.objects.all()
|
|
pagination_class = GlobalPagination
|
|
|
|
def get_serializer_class(self):
|
|
if self.action == 'partial_update' or self.action == 'update' or self.action == 'destroy':
|
|
return UserUpdateDeleteSerializer
|
|
else:
|
|
return UserGetSerializer
|
|
|
|
|
|
class ResetPasswordView(mixins.UpdateModelMixin, GenericAPIView):
|
|
"""
|
|
patch:
|
|
用户--重置密码
|
|
|
|
用户重置密码, status: 200(成功), return: None
|
|
"""
|
|
queryset = UserModel.objects.all()
|
|
serializer_class = ResetPasswordSerializer
|
|
|
|
def patch(self, request, *args, **kwargs):
|
|
return self.partial_update(request, *args, **kwargs)
|