40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from django_filters.rest_framework import DjangoFilterBackend
|
|
from rest_framework import generics, permissions
|
|
|
|
from account import models
|
|
from account.models import User
|
|
from account.serializers import back as serializers
|
|
|
|
|
|
class RoleLstView(generics.ListCreateAPIView):
|
|
serializer_class = serializers.RoleSerializer
|
|
queryset = models.Role.objects.all()
|
|
|
|
|
|
class UserRoleLstView(generics.ListCreateAPIView):
|
|
serializer_class = serializers.UserRoleSerializer
|
|
queryset = models.Role.objects.all()
|
|
|
|
|
|
class UserLstView(generics.ListCreateAPIView):
|
|
"""User list create view."""
|
|
queryset = User.objects.all()
|
|
serializer_class = serializers.BackUserSerializer
|
|
permission_classes = (permissions.IsAdminUser,)
|
|
filter_backends = (DjangoFilterBackend,)
|
|
filterset_fields = (
|
|
'email_confirmed',
|
|
'is_staff',
|
|
'is_active',
|
|
'is_superuser',
|
|
'roles',
|
|
)
|
|
|
|
|
|
class UserRUDView(generics.RetrieveUpdateDestroyAPIView):
|
|
"""User RUD view."""
|
|
queryset = User.objects.all()
|
|
serializer_class = serializers.BackDetailUserSerializer
|
|
permission_classes = (permissions.IsAdminUser,)
|
|
lookup_field = 'id'
|