jira-34 referral code validation API

This commit is contained in:
jain
2023-07-19 17:50:10 +05:30
parent 9f9926da14
commit 49abf12ce8

View File

@ -18,6 +18,7 @@ import requests
# from utils file
# Import account's serializer
# Import account's task
# import junior serializer
from junior.models import Junior
from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer,\
RemoveJuniorSerializer, CompleteTaskSerializer, JuniorPointsSerializer)
@ -55,6 +56,7 @@ class UpdateJuniorProfile(viewsets.ViewSet):
if image:
if image.size == NUMBER['zero']:
return custom_error_response(ERROR_CODE['2035'], response_status=status.HTTP_400_BAD_REQUEST)
# convert into file
filename = f"images/{image.name}"
# upload image on ali baba
image_url = upload_image_to_alibaba(image, filename)
@ -101,6 +103,7 @@ class JuniorListAPIView(viewsets.ModelViewSet):
}
requests.get(os.getenv('BASE_URL') + '/api/v1/top-junior/', headers=headers_token)
guardian_data = Guardian.objects.filter(user__email=request.user).last()
# fetch junior object
queryset = Junior.objects.filter(guardian_code__icontains=str(guardian_data.guardian_code))
# use JuniorDetailListSerializer serializer
serializer = JuniorDetailListSerializer(queryset, many=True)
@ -141,6 +144,7 @@ class InvitedJuniorAPIView(viewsets.ModelViewSet):
""" junior list"""
queryset = self.get_queryset()
paginator = self.pagination_class()
# pagination
paginated_queryset = paginator.paginate_queryset(queryset, request)
# use JuniorDetailListSerializer serializer
serializer = JuniorDetailListSerializer(paginated_queryset, many=True)
@ -158,6 +162,7 @@ class FilterJuniorAPIView(viewsets.ModelViewSet):
"""Get the queryset for the view"""
title = self.request.GET.get('title')
guardian_data = Guardian.objects.filter(user__email=self.request.user).last()
# fetch junior query
queryset = Junior.objects.filter(guardian_code__icontains=str(guardian_data.guardian_code),
is_invited=True, auth__first_name=title)
return queryset
@ -209,14 +214,18 @@ class JuniorTaskListAPIView(viewsets.ModelViewSet):
status_value = self.request.GET.get('status')
search = self.request.GET.get('search')
if search and str(status_value) == '0':
# search with title and for all task list
queryset = JuniorTask.objects.filter(junior__auth=request.user,
task_name__icontains=search).order_by('due_date', 'created_at')
elif search and str(status_value) != '0':
# search with title and fetch task list with status wise
queryset = JuniorTask.objects.filter(junior__auth=request.user, task_name__icontains=search,
task_status=status_value).order_by('due_date', 'created_at')
if search is None and str(status_value) == '0':
# fetch all task list
queryset = JuniorTask.objects.filter(junior__auth=request.user).order_by('due_date', 'created_at')
elif search is None and str(status_value) != '0':
# fetch task list with status wise
queryset = JuniorTask.objects.filter(junior__auth=request.user,
task_status=status_value).order_by('due_date','created_at')
paginator = self.pagination_class()
@ -239,7 +248,9 @@ class CompleteJuniorTaskAPIView(views.APIView):
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)
# create file
filename = f"images/{image.name}"
# upload image
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()
@ -267,6 +278,7 @@ class JuniorPointsListAPIView(viewsets.ModelViewSet):
def list(self, request, *args, **kwargs):
"""profile view"""
queryset = self.get_queryset()
# update position of junior
token = self.request.META['HTTP_AUTHORIZATION']
headers = {
'Authorization': token