Skip to content
Snippets Groups Projects
views.py 1.68 KiB
Newer Older
from rest_framework import viewsets
from . import models
from . import serializers
Bodor Máté's avatar
Bodor Máté committed
from common.permissions import IsStaffUser, IsStaffOrStudent
Bodor Máté's avatar
Bodor Máté committed
class StaffEventViewSet(viewsets.ModelViewSet):
    serializer_class = serializers.StaffEventSerializer
Bodor Máté's avatar
Bodor Máté committed
    queryset = models.Event.objects.all().order_by('date')
Bodor Máté's avatar
Bodor Máté committed
    permission_classes = (IsStaffUser, )

    def perform_create(self, serializer):
        kwargs = {
            'created_by': self.request.user.profile
        }
Rafael László's avatar
Rafael László committed

        serializer.save(**kwargs)

Bodor Máté's avatar
Bodor Máté committed

class StudentEventViewSet(viewsets.ModelViewSet):
    serializer_class = serializers.StudentEventSerializer
Bodor Máté's avatar
Bodor Máté committed
    queryset = models.Event.objects.all().order_by('date')
Bodor Máté's avatar
Bodor Máté committed
    permission_classes = (IsStaffOrStudent, )
    def perform_create(self, serializer):
        kwargs = {
            'created_by': self.request.user.profile
        }
Rafael László's avatar
Rafael László committed

        serializer.save(**kwargs)


class NoteViewSet(viewsets.ModelViewSet):
    serializer_class = serializers.NoteSerializer
    permission_classes = (IsStaffUser, )

    def get_queryset(self):
        queryset = models.Note.objects.all()
        profile_id = self.request.query_params.get('profileID', None)
        event_id = self.request.query_params.get('eventID', None)
        if profile_id is not None and event_id is not None:
Bodor Máté's avatar
Bodor Máté committed
            return queryset.filter(profile=profile_id, event=event_id)
        if profile_id is not None:
Bodor Máté's avatar
Bodor Máté committed
            return queryset.filter(profile=profile_id)
        if event_id is not None:
            return queryset.filter(event=event_id)
        return queryset
Rafael László's avatar
Rafael László committed

    def perform_create(self, serializer):
        kwargs = {
            'created_by': self.request.user.profile
        }
Rafael László's avatar
Rafael László committed

        serializer.save(**kwargs)