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.

17 lines
600 B

from rest_framework import viewsets
from rest_framework.permissions import IsAuthenticated
from .models import User
from .serializers import UserSerializer
from core.permissions import IsDiveBaseAdmin
class UserViewSet(viewsets.ModelViewSet):
serializer_class = UserSerializer
permission_classes = [IsAuthenticated]
def get_queryset(self):
user = self.request.user
if user.is_superuser:
return User.objects.all()
if user.role == "ADMIN":
return User.objects.filter(dive_base=user.dive_base)
return User.objects.filter(id=user.id)