mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2026-10-25 16:47:57 +00:00
jira-33 mark as complete the task
This commit is contained in:
+29
-2
@@ -17,7 +17,7 @@ from rest_framework.pagination import PageNumberPagination
|
||||
# Import account's task
|
||||
from junior.models import Junior
|
||||
from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer,\
|
||||
RemoveJuniorSerializer)
|
||||
RemoveJuniorSerializer, CompleteTaskSerializer)
|
||||
from guardian.models import Guardian, JuniorTask
|
||||
from guardian.serializers import TaskDetailsSerializer
|
||||
from base.messages import ERROR_CODE, SUCCESS_CODE
|
||||
@@ -164,7 +164,7 @@ class FilterJuniorAPIView(viewsets.ModelViewSet):
|
||||
|
||||
|
||||
class RemoveJuniorAPIView(views.APIView):
|
||||
"""Eater Update API"""
|
||||
"""Remove junior API"""
|
||||
serializer_class = RemoveJuniorSerializer
|
||||
model = Junior
|
||||
permission_classes = [IsAuthenticated]
|
||||
@@ -215,3 +215,30 @@ class JuniorTaskListAPIView(viewsets.ModelViewSet):
|
||||
# use TaskDetailsSerializer serializer
|
||||
serializer = TaskDetailsSerializer(paginated_queryset, many=True)
|
||||
return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
class CompleteJuniorTaskAPIView(views.APIView):
|
||||
"""Update junior task API"""
|
||||
serializer_class = CompleteTaskSerializer
|
||||
model = JuniorTask
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def put(self, request, format=None):
|
||||
task_id = self.request.data.get('task_id')
|
||||
image = request.data['image']
|
||||
if image and image.size == NUMBER['zero']:
|
||||
return custom_error_response(ERROR_CODE['2035'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
filename = f"images/{image.name}"
|
||||
image_url = upload_image_to_alibaba(image, filename)
|
||||
# fetch junior query
|
||||
task_queryset = JuniorTask.objects.filter(id=task_id, junior__auth__email=self.request.user).last()
|
||||
if task_queryset:
|
||||
# use RemoveJuniorSerializer serializer
|
||||
serializer = CompleteTaskSerializer(task_queryset, data={'image': image_url}, partial=True)
|
||||
if serializer.is_valid():
|
||||
# save serializer
|
||||
serializer.save()
|
||||
return custom_response(SUCCESS_CODE['3022'], serializer.data, response_status=status.HTTP_200_OK)
|
||||
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
|
||||
else:
|
||||
return custom_error_response(ERROR_CODE['2034'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
Reference in New Issue
Block a user