task list

This commit is contained in:
jain
2023-07-18 11:01:16 +05:30
parent ae7250b34a
commit 032186bf43
3 changed files with 31 additions and 4 deletions

View File

@ -225,7 +225,7 @@ class JuniorSerializer(serializers.ModelSerializer):
return access_token return access_token
def get_refresh_token(self, obj): def get_refresh_token(self, obj):
refresh = RefreshToken.for_user(obj.user) refresh = RefreshToken.for_user(obj.auth)
refresh_token = str(refresh) refresh_token = str(refresh)
return refresh_token return refresh_token

View File

@ -2,7 +2,7 @@
"""Django import""" """Django import"""
from django.urls import path, include from django.urls import path, include
from .views import (UpdateJuniorProfile, ValidateGuardianCode, JuniorListAPIView, AddJuniorAPIView, from .views import (UpdateJuniorProfile, ValidateGuardianCode, JuniorListAPIView, AddJuniorAPIView,
InvitedJuniorAPIView, FilterJuniorAPIView, RemoveJuniorAPIView) InvitedJuniorAPIView, FilterJuniorAPIView, RemoveJuniorAPIView, JuniorTaskListAPIView)
"""Third party import""" """Third party import"""
from rest_framework import routers from rest_framework import routers
@ -17,7 +17,8 @@ router = routers.SimpleRouter()
# junior list, # junior list,
# add junior list, invited junior, # add junior list, invited junior,
# filter-junior, # filter-junior,
# remove junior""" # remove junior,
# junior task list
"""API End points with router""" """API End points with router"""
router.register('create-junior-profile', UpdateJuniorProfile, basename='profile-update') router.register('create-junior-profile', UpdateJuniorProfile, basename='profile-update')
# validate guardian code API""" # validate guardian code API"""
@ -30,6 +31,8 @@ router.register('add-junior', AddJuniorAPIView, basename='add-junior')
router.register('invited-junior', InvitedJuniorAPIView, basename='invited-junior') router.register('invited-junior', InvitedJuniorAPIView, basename='invited-junior')
# Filter junior list API""" # Filter junior list API"""
router.register('filter-junior', FilterJuniorAPIView, basename='filter-junior') router.register('filter-junior', FilterJuniorAPIView, basename='filter-junior')
# junior's task list API"""
router.register('junior-task-list', JuniorTaskListAPIView, basename='junior-task-list')
# Define url pattern""" # Define url pattern"""
urlpatterns = [ urlpatterns = [
path('api/v1/', include(router.urls)), path('api/v1/', include(router.urls)),

View File

@ -18,7 +18,8 @@ from rest_framework.pagination import PageNumberPagination
from junior.models import Junior from junior.models import Junior
from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer,\ from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer,\
RemoveJuniorSerializer) RemoveJuniorSerializer)
from guardian.models import Guardian from guardian.models import Guardian, JuniorTask
from guardian.serializers import TaskDetailsSerializer
from base.messages import ERROR_CODE, SUCCESS_CODE from base.messages import ERROR_CODE, SUCCESS_CODE
from base.constants import NUMBER from base.constants import NUMBER
from account.utils import custom_response, custom_error_response from account.utils import custom_response, custom_error_response
@ -184,3 +185,26 @@ class RemoveJuniorAPIView(views.APIView):
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST) return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
else: else:
return custom_error_response(ERROR_CODE['2034'], response_status=status.HTTP_400_BAD_REQUEST) return custom_error_response(ERROR_CODE['2034'], response_status=status.HTTP_400_BAD_REQUEST)
class JuniorTaskListAPIView(viewsets.ModelViewSet):
"""Update guardian profile"""
serializer_class = TaskDetailsSerializer
permission_classes = [IsAuthenticated]
pagination_class = PageNumberPagination
queryset = JuniorTask.objects.all()
def list(self, request, *args, **kwargs):
"""Create guardian profile"""
status_value = self.request.GET.get('status')
if str(status_value) == '0':
queryset = JuniorTask.objects.filter(junior__auth=request.user).order_by('due_date', 'created_at')
else:
queryset = JuniorTask.objects.filter(junior__auth=request.user,
task_status=status_value).order_by('due_date','created_at')
paginator = self.pagination_class()
# use Pagination
paginated_queryset = paginator.paginate_queryset(queryset, request)
# use TaskDetailsSerializer serializer
serializer = TaskDetailsSerializer(paginated_queryset, many=True)
return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)