From e858caf98130b07c7f146b30e3168f8a82d412b2 Mon Sep 17 00:00:00 2001 From: benjamyn Date: Thu, 22 Oct 2020 20:19:36 -0400 Subject: [PATCH] Added awaiting term view --- migratorapi/api/views.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/migratorapi/api/views.py b/migratorapi/api/views.py index 7db9660..4a09866 100644 --- a/migratorapi/api/views.py +++ b/migratorapi/api/views.py @@ -21,22 +21,32 @@ class MigrationViewSet(viewsets.ModelViewSet): # permission_classes = (AllowAny,) @action(detail=False, methods=['GET']) - def upcoming(self, request, *args, **kwargs): + def upcoming(self, request): ''' Returns a list of the migrations due today ''' queryset = MigrationSerializer( - Migration.objects.filter(booked_time=timezone.now(), migration_status="Booked"), many=True) + Migration.objects.filter(booked_time=timezone.now(), + migration_status="Booked"), many=True) return Response(queryset.data, status=status.HTTP_200_OK) @action(detail=False, methods=['GET']) - def missed(self, request, *args, **kwargs): - ''' Returns a list of the missed migrations (Still have the status booked and date is greater then today) ''' + def missed(self, request): + ''' Returns a list of the missed migrations (Still have the status + booked and date is greater then today) ''' queryset = MigrationSerializer( - Migration.objects.filter(booked_time__gte=timezone.now() + datetime.timedelta(1), migration_status="Booked"), many=True) + Migration.objects.filter(booked_time__gte=timezone.now() + datetime.timedelta(1), + migration_status="Booked"), many=True) return Response(queryset.data, status=status.HTTP_200_OK) @action(detail=False, methods=['GET']) - def booked(self, request, *args, **kwargs): + def booked(self, request): ''' Returns a list of the booked migrations ''' queryset = MigrationSerializer(Migration.objects.filter( migration_status="booked",), many=True) return Response(queryset.data, status=status.HTTP_200_OK) + + @action(detail=False, methods=['GET']) + def awaitterm(self, request): + ''' Returns migrations awaiting termination ''' + queryset = MigrationSerializer(Migration.objects.filter( + migration_status="Awaiting Termination", term_date__lte=timezone.now()), many=True) + return Response(queryset.data, status=status.HTTP_200_OK)