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.
27 lines
958 B
27 lines
958 B
from rest_framework import viewsets
|
|
from rest_framework.permissions import IsAuthenticated
|
|
from .models import Event, EventApplication
|
|
from .serializers import EventSerializer, EventApplicationSerializer
|
|
from core.permissions import IsSameDiveBase, IsDiveBaseAdmin
|
|
|
|
class EventViewSet(viewsets.ModelViewSet):
|
|
serializer_class = EventSerializer
|
|
permission_classes = [IsAuthenticated]
|
|
|
|
def get_queryset(self):
|
|
return Event.objects.filter(dive_base=self.request.user.dive_base, is_deleted=False)
|
|
|
|
def perform_destroy(self, instance):
|
|
instance.is_deleted = True
|
|
instance.save()
|
|
|
|
|
|
class EventApplicationViewSet(viewsets.ModelViewSet):
|
|
serializer_class = EventApplicationSerializer
|
|
permission_classes = [IsAuthenticated]
|
|
|
|
def get_queryset(self):
|
|
return EventApplication.objects.filter(user=self.request.user)
|
|
|
|
def perform_create(self, serializer):
|
|
serializer.save(user=self.request.user)
|
|
|