diff --git a/src/homework/serializers.py b/src/homework/serializers.py index 8c0e8e00d6f0f2de165fe7cd275325caf61e4230..9afed2745cd470f96a4e6a7aacce9e540eaf32c2 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 db3c92acc6fe4b2b04b054eecfda10ec3af17016..cff6e5281ffe33392e8ed0dc92c5aa453341aca2 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):