Skip to content

Commit cfccebf

Browse files
committed
Incorrect model in subtask serializer and add PUT PATCH for subtask
1 parent f9e1250 commit cfccebf

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

backend/tasks/tasks/serializers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,4 @@ class Meta:
107107

108108
def create(self, validated_data):
109109
# Create a new task with validated data
110-
return Todo.objects.create(**validated_data)
110+
return Subtask.objects.create(**validated_data)

backend/tasks/tasks/views.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,8 @@ def change_task_list_board(self, request):
130130
class SubTaskViewset(viewsets.GenericViewSet,
131131
mixins.CreateModelMixin,
132132
mixins.DestroyModelMixin,
133-
mixins.ListModelMixin):
133+
mixins.ListModelMixin,
134+
mixins.UpdateModelMixin):
134135
queryset = Subtask.objects.all()
135136
permission_classes = (IsAuthenticated,)
136137

@@ -173,6 +174,19 @@ def destroy(self, request, *args, **kwargs):
173174
return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
174175

175176

177+
def partial_update(self, request, *args, **kwargs):
178+
"""Update a subtask."""
179+
try:
180+
instance = self.get_o
181+
serializer = self.get_serializer(instance, data=request.data, partial=True)
182+
serializer.is_valid(raise_exception=True)
183+
self.perform_update(serializer)
184+
return Response(serializer.data)
185+
186+
except Exception as e:
187+
return Response({'error': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
188+
189+
176190
class RecurrenceTaskViewSet(viewsets.ModelViewSet):
177191
queryset = RecurrenceTask.objects.all()
178192
serializer_class = RecurrenceTaskSerializer

0 commit comments

Comments
 (0)