update profile

This commit is contained in:
jain
2023-07-06 19:53:20 +05:30
parent 34034dcdb8
commit 2b783512a5
5 changed files with 83 additions and 30 deletions

View File

@ -3,7 +3,8 @@
from rest_framework.permissions import IsAuthenticated
from rest_framework import viewsets, status
from rest_framework.pagination import PageNumberPagination
from django.db.models import Max
from django.contrib.auth.models import User
from django.utils import timezone
from datetime import datetime, timedelta
"""Import Django app"""
from .serializers import (UserSerializer, CreateGuardianSerializer, TaskSerializer, TaskDetailsSerializer,
@ -22,7 +23,6 @@ from django.db.models import Sum
class SignupViewset(viewsets.ModelViewSet):
"""Signup view set"""
serializer_class = UserSerializer
def create(self, request, *args, **kwargs):
"""Create user profile"""
if request.data['user_type'] in ['1', '2']:
@ -31,7 +31,7 @@ class SignupViewset(viewsets.ModelViewSet):
serializer.save()
"""Generate otp"""
otp = generate_otp()
expiry = datetime.today() + timedelta(days=1)
expiry = timezone.now() + timezone.timedelta(days=1)
UserEmailOtp.objects.create(email=request.data['email'], otp=otp,
user_type=str(request.data['user_type']), expired_at=expiry)
"""Send email to the register user"""
@ -110,24 +110,45 @@ class CreateTaskAPIView(viewsets.ModelViewSet):
return custom_response(SUCCESS_CODE['3018'], serializer.data, response_status=status.HTTP_200_OK)
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
class SearchTaskListAPIView(viewsets.ModelViewSet):
"""Update guardian profile"""
serializer_class = TaskDetailsSerializer
permission_classes = [IsAuthenticated]
pagination_class = PageNumberPagination
def get_queryset(self):
"""Get the queryset for the view"""
title = self.request.GET.get('title')
junior_queryset = JuniorTask.objects.filter(guardian__user=self.request.user, task_name__icontains=title)\
.order_by('due_date', 'created_at')
return junior_queryset
def list(self, request, *args, **kwargs):
"""Create guardian profile"""
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')
queryset = self.get_queryset()
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 SearchTaskListAPIView(viewsets.ModelViewSet):
# """Update guardian profile"""
# serializer_class = TaskDetailsSerializer
# permission_classes = [IsAuthenticated]
# pagination_class = PageNumberPagination
#
# def list(self, request, *args, **kwargs):
# """Create guardian profile"""
# title = self.request.GET.get('title')
# junior_queryset = JuniorTask.objects.filter(guardian__user=request.user, task_name__icontains=title)\
# .order_by('due_date','created_at')
# paginator = self.pagination_class()
# queryset = paginator.paginate_queryset(junior_queryset, request)
# serializer = TaskDetailsSerializer(queryset, many=True)
# return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)
class TopJuniorListAPIView(viewsets.ModelViewSet):
"""Top juniors list"""