Merge pull request 'shaxob' (#132) from shaxob into main
All checks were successful
Deploy to Production / build-and-deploy (push) Successful in 2m23s

Reviewed-on: #132
This commit is contained in:
2026-05-04 12:49:58 +00:00
19 changed files with 479 additions and 28 deletions

View File

@@ -30,15 +30,10 @@ class CommentCreateSerializer(serializers.ModelSerializer):
'id', 'message', 'file', 'type', 'task'
]
def validate(self, data):
task = Task.objects.filter(id=data['task']).first()
if not task:
raise serializers.ValidationError("Task not found")
data['task'] = task
return data
def create(self, validated_data):
with transaction.atomic():
task = validated_data.pop('task')
comment = Comment.objects.create(task=task, created_by=self.context['request'].user, **validated_data)
return comment
comment = Comment.objects.create(
created_by=self.context['request'].user,
**validated_data
)
return comment

View File

@@ -20,7 +20,7 @@ urlpatterns = [
path('task/', include(
[
path('list/', task.TaskListView.as_view()),
path('<int:id>/', task.TaskDetailView.as_view()),
path('<int:pk>/', task.TaskDetailView.as_view()),
path('create/', task.TaskCreateView.as_view()),
]
)),

View File

@@ -1,9 +1,7 @@
from django.db import transaction
from rest_framework import permissions, generics
from rest_framework.response import Response
from drf_spectacular.utils import extend_schema
from rest_framework import permissions, generics, status
from rest_framework.response import Response
from core.apps.tasks.models.task import Task
from core.apps.tasks.serializers.task import TaskSerializer, TaskCreateSerializer
@@ -18,7 +16,8 @@ class TaskCreateView(generics.GenericAPIView):
@transaction.atomic
def post(self, request):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
if not serializer.is_valid(raise_exception=True):
return Response(serializer.validated_data, status=status.HTTP_400_BAD_REQUEST)
serializer.save()
return Response(serializer.data)