49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
from django_filters.rest_framework import DjangoFilterBackend
|
|
from rest_framework import generics, permissions
|
|
from rest_framework.filters import OrderingFilter
|
|
|
|
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.UserRole.objects.all()
|
|
|
|
|
|
class UserLstView(generics.ListCreateAPIView):
|
|
"""User list create view."""
|
|
queryset = User.objects.prefetch_related('roles')
|
|
serializer_class = serializers.BackUserSerializer
|
|
permission_classes = (permissions.IsAdminUser,)
|
|
filter_backends = (DjangoFilterBackend, OrderingFilter)
|
|
filterset_fields = (
|
|
'email_confirmed',
|
|
'is_staff',
|
|
'is_active',
|
|
'is_superuser',
|
|
'roles',
|
|
)
|
|
ordering_fields = (
|
|
'email_confirmed',
|
|
'is_staff',
|
|
'is_active',
|
|
'is_superuser',
|
|
'roles',
|
|
'last_login'
|
|
)
|
|
|
|
|
|
class UserRUDView(generics.RetrieveUpdateDestroyAPIView):
|
|
"""User RUD view."""
|
|
queryset = User.objects.all()
|
|
serializer_class = serializers.BackDetailUserSerializer
|
|
permission_classes = (permissions.IsAdminUser,)
|
|
lookup_field = 'id'
|