Files
MTCBD/backend/accounts/views.py
2026-02-23 20:31:53 +05:30

34 lines
1.2 KiB
Python

from rest_framework import generics, permissions, viewsets
from rest_framework_simplejwt.views import TokenObtainPairView
from django.contrib.auth import get_user_model
from .serializers import RegisterSerializer, UserSerializer, CustomTokenObtainPairSerializer
User = get_user_model()
class CustomTokenObtainPairView(TokenObtainPairView):
serializer_class = CustomTokenObtainPairSerializer
class RegisterView(generics.CreateAPIView):
queryset = User.objects.all()
serializer_class = RegisterSerializer
permission_classes = [permissions.AllowAny]
class UserProfileView(generics.RetrieveUpdateAPIView):
serializer_class = UserSerializer
permission_classes = [permissions.IsAuthenticated]
def get_object(self):
return self.request.user
class UserListView(generics.ListAPIView):
"""
List all users in the current tenant.
Used for task assignment dropdown.
"""
serializer_class = UserSerializer
permission_classes = [permissions.IsAuthenticated]
pagination_class = None # Return all users as a list, not paginated
def get_queryset(self):
return User.objects.filter(tenant=self.request.tenant, is_active=True).order_by('first_name', 'last_name')