Skip to content
Snippets Groups Projects
views.py 1.15 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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()
    
    Bodor Máté's avatar
    Bodor Máté committed
        permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, permissions.IsStaffOrStudent, )
    
    Bodor Máté's avatar
    Bodor Máté committed
    
    
    class SolutionsViewSet(viewsets.ModelViewSet):
    
        serializer_class = serializers.SolutionSerializer_Student
    
        permission_classes = (permissions.IsStaffOrStudent, )
    
    Bodor Mate's avatar
    Bodor Mate committed
    
    
        def get_serializer_class(self):
            user = self.request.user
            if user.profile.role == 'Staff':
                return serializers.SolutionSerializer_Staff
            return serializers.SolutionSerializer_Student
    
    
    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