mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-16 18:36:18 +00:00
task list
This commit is contained in:
@ -225,7 +225,7 @@ class JuniorSerializer(serializers.ModelSerializer):
|
||||
return access_token
|
||||
|
||||
def get_refresh_token(self, obj):
|
||||
refresh = RefreshToken.for_user(obj.user)
|
||||
refresh = RefreshToken.for_user(obj.auth)
|
||||
refresh_token = str(refresh)
|
||||
return refresh_token
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
"""Django import"""
|
||||
from django.urls import path, include
|
||||
from .views import (UpdateJuniorProfile, ValidateGuardianCode, JuniorListAPIView, AddJuniorAPIView,
|
||||
InvitedJuniorAPIView, FilterJuniorAPIView, RemoveJuniorAPIView)
|
||||
InvitedJuniorAPIView, FilterJuniorAPIView, RemoveJuniorAPIView, JuniorTaskListAPIView)
|
||||
"""Third party import"""
|
||||
from rest_framework import routers
|
||||
|
||||
@ -17,7 +17,8 @@ router = routers.SimpleRouter()
|
||||
# junior list,
|
||||
# add junior list, invited junior,
|
||||
# filter-junior,
|
||||
# remove junior"""
|
||||
# remove junior,
|
||||
# junior task list
|
||||
"""API End points with router"""
|
||||
router.register('create-junior-profile', UpdateJuniorProfile, basename='profile-update')
|
||||
# validate guardian code API"""
|
||||
@ -30,6 +31,8 @@ router.register('add-junior', AddJuniorAPIView, basename='add-junior')
|
||||
router.register('invited-junior', InvitedJuniorAPIView, basename='invited-junior')
|
||||
# Filter junior list API"""
|
||||
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"""
|
||||
urlpatterns = [
|
||||
path('api/v1/', include(router.urls)),
|
||||
|
@ -18,7 +18,8 @@ from rest_framework.pagination import PageNumberPagination
|
||||
from junior.models import Junior
|
||||
from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer,\
|
||||
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.constants import NUMBER
|
||||
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)
|
||||
else:
|
||||
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)
|
||||
|
Reference in New Issue
Block a user