From 22dd7fc10bfd42a03b7682b986508bb9e177fe30 Mon Sep 17 00:00:00 2001 From: jain Date: Thu, 10 Aug 2023 10:55:33 +0530 Subject: [PATCH] remove guardian code request --- base/messages.py | 4 +++- junior/serializers.py | 12 ++++++++++++ junior/urls.py | 3 ++- junior/views.py | 26 ++++++++++++++++++++++++-- 4 files changed, 41 insertions(+), 4 deletions(-) diff --git a/base/messages.py b/base/messages.py index 1e3e146..4e15d59 100644 --- a/base/messages.py +++ b/base/messages.py @@ -155,7 +155,9 @@ SUCCESS_CODE = { "3041": "Article completed successfully", # submit assessment successfully "3042": "Assessment completed successfully", - "3043": "Read article card successfully" + "3043": "Read article card successfully", + # remove guardian code request + "3044": "Remove guardian code request successfully", } """status code error""" diff --git a/junior/serializers.py b/junior/serializers.py index 1db1f44..003e563 100644 --- a/junior/serializers.py +++ b/junior/serializers.py @@ -492,3 +492,15 @@ class ReAssignTaskSerializer(serializers.ModelSerializer): instance.save() return instance + + +class RemoveGuardianCodeSerializer(serializers.ModelSerializer): + """User task Serializer""" + class Meta(object): + """Meta class""" + model = Junior + fields = ('id', ) + def update(self, instance, validated_data): + instance.guardian_code_status = str(NUMBER['one']) + instance.save() + return instance diff --git a/junior/urls.py b/junior/urls.py index e494a3d..b145d4f 100644 --- a/junior/urls.py +++ b/junior/urls.py @@ -6,7 +6,7 @@ from .views import (UpdateJuniorProfile, ValidateGuardianCode, JuniorListAPIView CompleteJuniorTaskAPIView, JuniorPointsListAPIView, ValidateReferralCode, InviteGuardianAPIView, StartTaskAPIView, ReAssignJuniorTaskAPIView, StartArticleAPIView, StartAssessmentAPIView, CheckAnswerAPIView, CompleteArticleAPIView, ReadArticleCardAPIView, - CreateArticleCardAPIView) + CreateArticleCardAPIView, RemoveGuardianCodeAPIView) """Third party import""" from rest_framework import routers @@ -60,4 +60,5 @@ urlpatterns = [ path('api/v1/reassign-task/', ReAssignJuniorTaskAPIView.as_view()), path('api/v1/complete-article/', CompleteArticleAPIView.as_view()), path('api/v1/read-article-card/', ReadArticleCardAPIView.as_view()), + path('api/v1/remove-guardian-code-request/', RemoveGuardianCodeAPIView.as_view()), ] diff --git a/junior/views.py b/junior/views.py index 5926c47..8f4e53d 100644 --- a/junior/views.py +++ b/junior/views.py @@ -33,8 +33,8 @@ from junior.models import (Junior, JuniorPoints, JuniorGuardianRelationship, Jun JuniorArticleCard) from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer, RemoveJuniorSerializer, CompleteTaskSerializer, JuniorPointsSerializer, - AddGuardianSerializer, StartTaskSerializer, ReAssignTaskSerializer - ) + AddGuardianSerializer, StartTaskSerializer, ReAssignTaskSerializer, + RemoveGuardianCodeSerializer) from guardian.models import Guardian, JuniorTask from guardian.serializers import TaskDetailsSerializer, TaskDetailsjuniorSerializer from base.messages import ERROR_CODE, SUCCESS_CODE @@ -621,3 +621,25 @@ class CreateArticleCardAPIView(viewsets.ModelViewSet): return custom_response(None, response_status=status.HTTP_200_OK) except Exception as e: return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST) + +class RemoveGuardianCodeAPIView(views.APIView): + """Update junior task API""" + serializer_class = RemoveGuardianCodeSerializer + permission_classes = [IsAuthenticated] + + def put(self, request, format=None): + try: + junior_queryset = Junior.objects.filter(auth=self.request.user).last() + if junior_queryset: + # use RemoveGuardianCodeSerializer serializer + serializer = RemoveGuardianCodeSerializer(junior_queryset, data=request.data, partial=True) + if serializer.is_valid(): + # save serializer + serializer.save() + return custom_response(SUCCESS_CODE['3044'], response_status=status.HTTP_200_OK) + return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST) + else: + # task in another state + return custom_error_response(ERROR_CODE['2047'], response_status=status.HTTP_400_BAD_REQUEST) + except Exception as e: + return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)