From f6cf034f28416aec77bd23299178818e6a532aff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bodor=20M=C3=A1t=C3=A9?= <bodor.mate@kszk.bme.hu> Date: Tue, 29 Jan 2019 14:35:02 +0100 Subject: [PATCH] Add create to serializer end change taskViewSet permissions --- src/homework/serializers.py | 5 +++++ src/homework/views.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/homework/serializers.py b/src/homework/serializers.py index 8c0e8e0..9afed27 100755 --- a/src/homework/serializers.py +++ b/src/homework/serializers.py @@ -66,3 +66,8 @@ class SolutionSerializer(serializers.ModelSerializer): if instance.corrected == False and validated_data.get('corrected', instance.corrected) == True: email.homework_corrected(instance.created_by.user.email) return super().update(instance, validated_data) + + def create(self, validated_data): + profile = CurrentUserMiddleware.get_current_user_profile() + models.Solution.objects.filter(created_by=profile, task=validated_data['task']).delete() + return super().create(validated_data) diff --git a/src/homework/views.py b/src/homework/views.py index db3c92a..cff6e52 100755 --- a/src/homework/views.py +++ b/src/homework/views.py @@ -8,7 +8,7 @@ from common import permissions class TasksViewSet(viewsets.ModelViewSet): serializer_class = serializers.TaskSerializer queryset = models.Task.objects.all() - permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, ) + permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, permissions.IsStaffOrStudent ) class SolutionsViewSet(viewsets.ModelViewSet): -- GitLab