Skip to content
Snippets Groups Projects
views.py 921 B
Newer Older
Bodor Máté's avatar
Bodor Máté committed
from rest_framework import viewsets
Bodor Máté's avatar
Bodor Máté committed
from . import serializers
from . import models
Bodor Máté's avatar
Bodor Máté committed
from common import permissions
Bodor Máté's avatar
Bodor Máté committed


class TasksViewSet(viewsets.ModelViewSet):
    serializer_class = serializers.TaskSerializer
    queryset = models.Task.objects.all()
    permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, )
Bodor Máté's avatar
Bodor Máté committed


class SolutionsViewSet(viewsets.ModelViewSet):
Bodor Máté's avatar
Bodor Máté committed
    serializer_class = serializers.SolutionSerializer
    permission_classes = (permissions.IsStaffOrStudent, )
Bodor Mate's avatar
Bodor Mate committed

Bodor Mate's avatar
Bodor Mate committed
    def get_queryset(self):
        user = self.request.user
        queryset = models.Solution.objects.filter(created_by=user.profile)
Bodor Máté's avatar
Bodor Máté committed
        if user.profile.role == 'Staff':
Bodor Mate's avatar
Bodor Mate committed
            queryset = models.Solution.objects.all()
            profile_id = self.request.query_params.get('profileID', None)
            if profile_id is not None:
                queryset = queryset.filter(created_by=profile_id)
Bodor Mate's avatar
Bodor Mate committed
        return queryset