Initial commit
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
from rest_framework import permissions, viewsets
|
||||
|
||||
from apps.bookings.models import Booking
|
||||
from apps.bookings.serializers import BookingCreateSerializer, BookingSerializer
|
||||
|
||||
|
||||
class BookingViewSet(viewsets.ModelViewSet):
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
def get_queryset(self):
|
||||
user = self.request.user
|
||||
if getattr(user, "is_superuser", False) or user.role == "admin":
|
||||
return Booking.objects.all().order_by("-created_at")
|
||||
if user.role == "manager":
|
||||
return Booking.objects.filter(salon__owner=user).order_by("-created_at")
|
||||
if user.role == "staff":
|
||||
return Booking.objects.filter(staff__user=user).order_by("-created_at")
|
||||
return Booking.objects.filter(customer=user).order_by("-created_at")
|
||||
|
||||
def get_serializer_class(self):
|
||||
if self.action == "create":
|
||||
return BookingCreateSerializer
|
||||
return BookingSerializer
|
||||
Reference in New Issue
Block a user