diff --git a/account/views.py b/account/views.py index 015d505..7bc9ab5 100644 --- a/account/views.py +++ b/account/views.py @@ -38,7 +38,7 @@ from account.utils import (send_otp_email, send_support_email, custom_response, from junior.serializers import JuniorProfileSerializer from guardian.serializers import GuardianProfileSerializer -class GoogleLoginMixin: +class GoogleLoginMixin(object): """google login mixin""" @staticmethod def google_login(self, request): diff --git a/guardian/serializers.py b/guardian/serializers.py index 8bcd0cf..ae96969 100644 --- a/guardian/serializers.py +++ b/guardian/serializers.py @@ -295,14 +295,21 @@ class ApproveTaskSerializer(serializers.ModelSerializer): def create(self, validated_data): """update task status """ instance = self.context['task_instance'] + junior = self.context['junior'] + junior_details = Junior.objects.filter(id=junior).last() + junior_data, created = JuniorPoints.objects.get_or_create(junior=junior_details) if self.context['action'] == str(NUMBER['one']): # approve the task instance.task_status = str(NUMBER['five']) instance.is_approved = True + junior_data.total_task_points = junior_data.total_task_points + instance.points + junior_data.save() else: # reject the task instance.task_status = str(NUMBER['three']) instance.is_approved = False + junior_data.total_task_points = junior_data.total_task_points - instance.points + junior_data.save() instance.save() return instance diff --git a/guardian/views.py b/guardian/views.py index 1d1808e..3450be7 100644 --- a/guardian/views.py +++ b/guardian/views.py @@ -256,7 +256,8 @@ class ApproveTaskAPIView(viewsets.ViewSet): # use ApproveJuniorSerializer serializer serializer = ApproveTaskSerializer(context={"guardian_code": queryset[0].guardian_code, "task_instance": queryset[1], - "action": str(request.data['action'])}, + "action": str(request.data['action']), + "junior": self.request.data['junior_id']}, data=request.data) if str(request.data['action']) == str(NUMBER['one']) and serializer.is_valid(): # save serializer diff --git a/manage.py b/manage.py index a19d33b..81f9c88 100755 --- a/manage.py +++ b/manage.py @@ -1,11 +1,15 @@ #!/usr/bin/env python """Django's command-line utility for administrative tasks.""" """Django import""" -"""Import OS module""" +# Import OS module import os -"""Import sys module""" +# Import sys module""" import sys +# define all function +# execute command line +# Import execute from command line +# fetch django settings def main(): """Main function"""