Added docstrings
This commit is contained in:
parent
e24d274cfd
commit
33140dde73
@ -1,45 +1,42 @@
|
|||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from django.shortcuts import get_object_or_404, render
|
from django.shortcuts import get_object_or_404, render
|
||||||
from django.http import HttpResponseRedirect, JsonResponse
|
from django.http import HttpResponseRedirect, JsonResponse
|
||||||
from django.views import generic
|
from django.views import generic
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from rest_framework import status, viewsets
|
from rest_framework import status, viewsets
|
||||||
from .serializers import MigrationSerializer
|
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
|
from .serializers import MigrationSerializer
|
||||||
|
|
||||||
|
|
||||||
from .models import Migration
|
from .models import Migration
|
||||||
|
|
||||||
|
|
||||||
class MigrationViewSet(viewsets.ModelViewSet):
|
class MigrationViewSet(viewsets.ModelViewSet):
|
||||||
|
''' Class for defining the migration views '''
|
||||||
queryset = Migration.objects.all()
|
queryset = Migration.objects.all()
|
||||||
serializer_class = MigrationSerializer
|
serializer_class = MigrationSerializer
|
||||||
# permission_classes = (AllowAny,)
|
# permission_classes = (AllowAny,)
|
||||||
|
|
||||||
@action(detail=False, methods=['GET'])
|
@action(detail=False, methods=['GET'])
|
||||||
def upcoming(self, request, *args, **kwargs):
|
def upcoming(self, request, *args, **kwargs):
|
||||||
|
''' Returns a list of the migrations due today '''
|
||||||
queryset = MigrationSerializer(
|
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)
|
return Response(queryset.data, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
@action(detail=False, methods=['GET'])
|
@action(detail=False, methods=['GET'])
|
||||||
def missed(self, request, *args, **kwargs):
|
def missed(self, request, *args, **kwargs):
|
||||||
|
''' Returns a list of the missed migrations (Still have the status booked and date is greater then today) '''
|
||||||
queryset = MigrationSerializer(
|
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)
|
return Response(queryset.data, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
@action(detail=False, methods=['GET'])
|
@action(detail=False, methods=['GET'])
|
||||||
def booked(self, request, *args, **kwargs):
|
def booked(self, request, *args, **kwargs):
|
||||||
|
''' Returns a list of the booked migrations '''
|
||||||
queryset = MigrationSerializer(Migration.objects.filter(
|
queryset = MigrationSerializer(Migration.objects.filter(
|
||||||
migration_status="booked",), many=True)
|
migration_status="booked",), many=True)
|
||||||
return Response(queryset.data, status=status.HTTP_200_OK)
|
return Response(queryset.data, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
|
||||||
class IndexView(generic.ListView):
|
|
||||||
template_name = 'api/index.html'
|
|
||||||
context_object_name = 'latest_migrations'
|
|
||||||
|
|
||||||
def get_queryset(self):
|
|
||||||
"""Return the last five published questions (not including those set in the future)."""
|
|
||||||
return Migration.objects.filter(booked_time__gte=timezone.now()).order_by('-booked_time')[:5]
|
|
||||||
|
|||||||
Reference in New Issue
Block a user