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