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
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)
|
|
|