mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-17 02:45:08 +00:00
jira-15 dashboard API
This commit is contained in:
@ -2,6 +2,7 @@
|
||||
"""Third party Django app"""
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework import viewsets, status
|
||||
from rest_framework.pagination import PageNumberPagination
|
||||
from django.db.models import Max
|
||||
"""Import Django app"""
|
||||
from .serializers import (UserSerializer, CreateGuardianSerializer, TaskSerializer, TaskDetailsSerializer,
|
||||
@ -64,35 +65,34 @@ class AllTaskListAPIView(viewsets.ModelViewSet):
|
||||
def list(self, request, *args, **kwargs):
|
||||
"""Create guardian profile"""
|
||||
queryset = JuniorTask.objects.filter(guardian__user=request.user)
|
||||
print("queryset==>",queryset)
|
||||
serializer = TaskDetailsSerializer(queryset, many=True)
|
||||
print("serializer.data===>",serializer.data)
|
||||
return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)
|
||||
|
||||
class TaskListAPIView(viewsets.ModelViewSet):
|
||||
"""Update guardian profile"""
|
||||
serializer_class = TaskDetailsSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
pagination_class = PageNumberPagination
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
"""Create guardian profile"""
|
||||
print("request.GET.get(status)==>",self.request.GET.get('status'))
|
||||
status_value = self.request.GET.get('status')
|
||||
if status_value == 0:
|
||||
queryset = JuniorTask.objects.filter(guardian__user=request.user)
|
||||
queryset = JuniorTask.objects.filter(guardian__user=request.user).order_by('created_at')
|
||||
else:
|
||||
queryset = JuniorTask.objects.filter(guardian__user=request.user,
|
||||
task_status=status_value)
|
||||
print("queryset==>",queryset)
|
||||
serializer = TaskDetailsSerializer(queryset, many=True)
|
||||
print("serializer.data===>",serializer.data)
|
||||
task_status=status_value).order_by('due_date','created_at')
|
||||
paginator = self.pagination_class()
|
||||
paginated_queryset = paginator.paginate_queryset(queryset, request)
|
||||
serializer = TaskDetailsSerializer(paginated_queryset, many=True)
|
||||
return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)
|
||||
|
||||
class CreateTaskAPIView(viewsets.ModelViewSet):
|
||||
"""create task for junior"""
|
||||
serializer_class = TaskSerializer
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
image = request.data['image']
|
||||
image = request.data['default_image']
|
||||
data = request.data
|
||||
if 'https' in str(image):
|
||||
image_data = image
|
||||
@ -100,7 +100,7 @@ class CreateTaskAPIView(viewsets.ModelViewSet):
|
||||
filename = f"images/{image}"
|
||||
image_url = upload_image_to_alibaba(image, filename)
|
||||
image_data = image_url
|
||||
data.pop('image')
|
||||
data.pop('default_image')
|
||||
serializer = TaskSerializer(context={"user":request.user, "image":image_data}, data=data)
|
||||
if serializer.is_valid():
|
||||
serializer.save()
|
||||
@ -112,21 +112,17 @@ class SearchTaskListAPIView(viewsets.ModelViewSet):
|
||||
"""Update guardian profile"""
|
||||
serializer_class = TaskDetailsSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
pagination_class = PageNumberPagination
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
"""Create guardian profile"""
|
||||
due_date = self.request.GET.get('due_date')
|
||||
print("request.GET.get(status)==>",self.request.GET.get('status'))
|
||||
if self.request.GET.get('status'):
|
||||
queryset = JuniorTask.objects.filter(guardian__user=request.user,
|
||||
task_status=self.request.GET.get('status')).order_by('due_date')
|
||||
if due_date:
|
||||
queryset = JuniorTask.objects.filter(guardian__user=request.user,
|
||||
due_date=due_date).order_by('due_date').order_by('created_at')
|
||||
|
||||
print("queryset==>",queryset)
|
||||
serializer = TaskDetailsSerializer(queryset, many=True)
|
||||
# print("serializer.data===>",serializer.data)
|
||||
title = self.request.GET.get('title')
|
||||
if title:
|
||||
queryset = JuniorTask.objects.filter(guardian__user=request.user, task_name__icontains=title)\
|
||||
.order_by('due_date','created_at')
|
||||
paginator = self.pagination_class()
|
||||
paginated_queryset = paginator.paginate_queryset(queryset, request)
|
||||
serializer = TaskDetailsSerializer(paginated_queryset, many=True)
|
||||
return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
@ -144,11 +140,10 @@ class TopJuniorListAPIView(viewsets.ModelViewSet):
|
||||
|
||||
junior_ids = [item['junior'] for item in junior_ids_with_total_points]
|
||||
|
||||
juniors = Junior.objects.filter(id__in=junior_ids) \
|
||||
.annotate(max_points=Max('junior_task__points')) \
|
||||
.order_by('-max_points', 'id')
|
||||
juniors = Junior.objects.filter(id__in=junior_ids)
|
||||
|
||||
serializer = self.get_serializer(juniors, many=True, context={'junior_ids_with_total_points': junior_ids_with_total_points})
|
||||
serializer = self.get_serializer(juniors, many=True, context={'junior_ids_with_total_points':
|
||||
junior_ids_with_total_points})
|
||||
return custom_response(serializer.data, response_status=status.HTTP_200_OK)
|
||||
|
||||
#
|
||||
|
Reference in New Issue
Block a user