mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-08-26 06:09:41 +00:00
jira-34 referral code validation API
This commit is contained in:
@ -18,6 +18,7 @@ import requests
|
|||||||
# from utils file
|
# from utils file
|
||||||
# Import account's serializer
|
# Import account's serializer
|
||||||
# Import account's task
|
# Import account's task
|
||||||
|
# import junior serializer
|
||||||
from junior.models import Junior
|
from junior.models import Junior
|
||||||
from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer,\
|
from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer,\
|
||||||
RemoveJuniorSerializer, CompleteTaskSerializer, JuniorPointsSerializer)
|
RemoveJuniorSerializer, CompleteTaskSerializer, JuniorPointsSerializer)
|
||||||
@ -55,6 +56,7 @@ class UpdateJuniorProfile(viewsets.ViewSet):
|
|||||||
if image:
|
if image:
|
||||||
if image.size == NUMBER['zero']:
|
if image.size == NUMBER['zero']:
|
||||||
return custom_error_response(ERROR_CODE['2035'], response_status=status.HTTP_400_BAD_REQUEST)
|
return custom_error_response(ERROR_CODE['2035'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
# convert into file
|
||||||
filename = f"images/{image.name}"
|
filename = f"images/{image.name}"
|
||||||
# upload image on ali baba
|
# upload image on ali baba
|
||||||
image_url = upload_image_to_alibaba(image, filename)
|
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)
|
requests.get(os.getenv('BASE_URL') + '/api/v1/top-junior/', headers=headers_token)
|
||||||
guardian_data = Guardian.objects.filter(user__email=request.user).last()
|
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))
|
queryset = Junior.objects.filter(guardian_code__icontains=str(guardian_data.guardian_code))
|
||||||
# use JuniorDetailListSerializer serializer
|
# use JuniorDetailListSerializer serializer
|
||||||
serializer = JuniorDetailListSerializer(queryset, many=True)
|
serializer = JuniorDetailListSerializer(queryset, many=True)
|
||||||
@ -141,6 +144,7 @@ class InvitedJuniorAPIView(viewsets.ModelViewSet):
|
|||||||
""" junior list"""
|
""" junior list"""
|
||||||
queryset = self.get_queryset()
|
queryset = self.get_queryset()
|
||||||
paginator = self.pagination_class()
|
paginator = self.pagination_class()
|
||||||
|
# pagination
|
||||||
paginated_queryset = paginator.paginate_queryset(queryset, request)
|
paginated_queryset = paginator.paginate_queryset(queryset, request)
|
||||||
# use JuniorDetailListSerializer serializer
|
# use JuniorDetailListSerializer serializer
|
||||||
serializer = JuniorDetailListSerializer(paginated_queryset, many=True)
|
serializer = JuniorDetailListSerializer(paginated_queryset, many=True)
|
||||||
@ -158,6 +162,7 @@ class FilterJuniorAPIView(viewsets.ModelViewSet):
|
|||||||
"""Get the queryset for the view"""
|
"""Get the queryset for the view"""
|
||||||
title = self.request.GET.get('title')
|
title = self.request.GET.get('title')
|
||||||
guardian_data = Guardian.objects.filter(user__email=self.request.user).last()
|
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),
|
queryset = Junior.objects.filter(guardian_code__icontains=str(guardian_data.guardian_code),
|
||||||
is_invited=True, auth__first_name=title)
|
is_invited=True, auth__first_name=title)
|
||||||
return queryset
|
return queryset
|
||||||
@ -209,14 +214,18 @@ class JuniorTaskListAPIView(viewsets.ModelViewSet):
|
|||||||
status_value = self.request.GET.get('status')
|
status_value = self.request.GET.get('status')
|
||||||
search = self.request.GET.get('search')
|
search = self.request.GET.get('search')
|
||||||
if search and str(status_value) == '0':
|
if search and str(status_value) == '0':
|
||||||
|
# search with title and for all task list
|
||||||
queryset = JuniorTask.objects.filter(junior__auth=request.user,
|
queryset = JuniorTask.objects.filter(junior__auth=request.user,
|
||||||
task_name__icontains=search).order_by('due_date', 'created_at')
|
task_name__icontains=search).order_by('due_date', 'created_at')
|
||||||
elif search and str(status_value) != '0':
|
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,
|
queryset = JuniorTask.objects.filter(junior__auth=request.user, task_name__icontains=search,
|
||||||
task_status=status_value).order_by('due_date', 'created_at')
|
task_status=status_value).order_by('due_date', 'created_at')
|
||||||
if search is None and str(status_value) == '0':
|
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')
|
queryset = JuniorTask.objects.filter(junior__auth=request.user).order_by('due_date', 'created_at')
|
||||||
elif search is None and str(status_value) != '0':
|
elif search is None and str(status_value) != '0':
|
||||||
|
# fetch task list with status wise
|
||||||
queryset = JuniorTask.objects.filter(junior__auth=request.user,
|
queryset = JuniorTask.objects.filter(junior__auth=request.user,
|
||||||
task_status=status_value).order_by('due_date','created_at')
|
task_status=status_value).order_by('due_date','created_at')
|
||||||
paginator = self.pagination_class()
|
paginator = self.pagination_class()
|
||||||
@ -239,7 +248,9 @@ class CompleteJuniorTaskAPIView(views.APIView):
|
|||||||
image = request.data['image']
|
image = request.data['image']
|
||||||
if image and image.size == NUMBER['zero']:
|
if image and image.size == NUMBER['zero']:
|
||||||
return custom_error_response(ERROR_CODE['2035'], response_status=status.HTTP_400_BAD_REQUEST)
|
return custom_error_response(ERROR_CODE['2035'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
# create file
|
||||||
filename = f"images/{image.name}"
|
filename = f"images/{image.name}"
|
||||||
|
# upload image
|
||||||
image_url = upload_image_to_alibaba(image, filename)
|
image_url = upload_image_to_alibaba(image, filename)
|
||||||
# fetch junior query
|
# fetch junior query
|
||||||
task_queryset = JuniorTask.objects.filter(id=task_id, junior__auth__email=self.request.user).last()
|
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):
|
def list(self, request, *args, **kwargs):
|
||||||
"""profile view"""
|
"""profile view"""
|
||||||
queryset = self.get_queryset()
|
queryset = self.get_queryset()
|
||||||
|
# update position of junior
|
||||||
token = self.request.META['HTTP_AUTHORIZATION']
|
token = self.request.META['HTTP_AUTHORIZATION']
|
||||||
headers = {
|
headers = {
|
||||||
'Authorization': token
|
'Authorization': token
|
||||||
|
Reference in New Issue
Block a user