diff --git a/backend/tasks/tasks/serializers.py b/backend/tasks/tasks/serializers.py index 65ea0c2..d7249c6 100644 --- a/backend/tasks/tasks/serializers.py +++ b/backend/tasks/tasks/serializers.py @@ -107,4 +107,4 @@ class SubTaskSerializer(serializers.ModelSerializer): def create(self, validated_data): # Create a new task with validated data - return Todo.objects.create(**validated_data) \ No newline at end of file + return Subtask.objects.create(**validated_data) \ No newline at end of file diff --git a/backend/tasks/tasks/views.py b/backend/tasks/tasks/views.py index 18a3410..545320a 100644 --- a/backend/tasks/tasks/views.py +++ b/backend/tasks/tasks/views.py @@ -130,7 +130,8 @@ list=extend_schema( class SubTaskViewset(viewsets.GenericViewSet, mixins.CreateModelMixin, mixins.DestroyModelMixin, - mixins.ListModelMixin): + mixins.ListModelMixin, + mixins.UpdateModelMixin): queryset = Subtask.objects.all() permission_classes = (IsAuthenticated,) @@ -173,6 +174,19 @@ class SubTaskViewset(viewsets.GenericViewSet, return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + def partial_update(self, request, *args, **kwargs): + """Update a subtask.""" + try: + instance = self.get_o + serializer = self.get_serializer(instance, data=request.data, partial=True) + serializer.is_valid(raise_exception=True) + self.perform_update(serializer) + return Response(serializer.data) + + except Exception as e: + return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + + class RecurrenceTaskViewSet(viewsets.ModelViewSet): queryset = RecurrenceTask.objects.all() serializer_class = RecurrenceTaskSerializer