Compare commits

..

No commits in common. "e9388ee78feb5b19d2b30809cd3d78bbc979d2ab" and "eea11ef5bac266830fd60b2a4eb935552111decc" have entirely different histories.

3 changed files with 27 additions and 44 deletions

View File

@ -6,9 +6,9 @@ from .models import Migration
class MigrationAdmin(admin.ModelAdmin): class MigrationAdmin(admin.ModelAdmin):
list_display = ('ticket_id', 'booked_date' , 'booked_time', list_display = ('ticket_id', 'booked_date' , 'booked_time',
'migration_status', 'domain', 'brand', 'agent_booked') 'migration_status', 'domain', 'brand')
search_fields = ['domain', 'booked_time', search_fields = ['domain', 'booked_time',
'username', 'ticket_id', 'migration_status', 'agent_booked'] 'username', 'ticket_id', 'migration_status']
admin.site.register(Migration, MigrationAdmin) admin.site.register(Migration, MigrationAdmin)

View File

@ -1,30 +1,15 @@
from rest_framework import serializers from rest_framework import serializers
from .models import Migration from .models import Migration
import datetime
# class MigrationOverView(serializers.ModelSerializer): class MigrationOverView(serializers.ModelSerializer):
# booked_count = serializers.SerializerMethodField() class Meta:
# missed_count = serializers.SerializerMethodField() model = Migration
# awaitterm_count = serializers.SerializerMethodField() fields = ['id',
# complete_count = serializers.SerializerMethodField() 'domain',
# class Meta: 'booked_date',
# model = Migration 'booked_time',
# fields = ['booked_count', 'migration_status',
# 'missed_count', 'term_date']
# 'awaitterm_count',
# 'complete_count']
# def get_booked_count (self, obj):
# return Migration.objects.filter(migration_status="Booked").count()
# def get_missed_count (self, obj):
# return Migration.objects.filter(migration_status="Booked", booked_date__lt=datetime.datetime.now().date()).count()
# def get_awaitterm_count (self, obj):
# return Migration.objects.filter(migration_status="Waiting Termination", booked_date=datetime.datetime.now().date()).count()
# def get_complete_count (self, obj):
# return Migration.objects.filter(migration_status="Completed").count()
class MigrationSerializer(serializers.ModelSerializer): class MigrationSerializer(serializers.ModelSerializer):
class Meta: class Meta:

View File

@ -9,7 +9,7 @@ from rest_framework import status, viewsets
from rest_framework.views import APIView from rest_framework.views import APIView
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 .serializers import MigrationSerializer, MigrationOverView
from .models import Migration from .models import Migration
@ -32,15 +32,10 @@ class MigrationList(APIView):
Returns a list of migrations with simpleData Returns a list of migrations with simpleData
''' '''
def get(self, request, format=None): def get(self, request, format=None):
return Response({'booked_count': Migration.objects.filter(migration_status="Booked").count(), limit = checkLimit(request.GET.get('limit', ''))
'pendterm_count': Migration.objects.filter(migration_status="Waiting Termination", term_date=timezone.now()).count(), migrations = getAllMigrations(limit)
'complete_count': Migration.objects.filter(migration_status="Completed").count(), serializer = MigrationOverView(migrations, many=True)
'missed_count': Migration.objects.filter( return Response(serializer.data)
booked_time__lte=timezone.now() + datetime.timedelta(-1),
migration_status="Booked"
).count(),
"upcoming_count":Migration.objects.filter(migration_status="Booked", booked_date=datetime.datetime.now().date()).count()})
# return Response(serializer.data)
def post(self, request, format=None): def post(self, request, format=None):
serializer = MigrationSerializer(data=request.data) serializer = MigrationSerializer(data=request.data)
@ -89,7 +84,8 @@ class MigrationsWaitingTerm(APIView):
''' '''
def get(self, request, format=None): def get(self, request, format=None):
limit = checkLimit(request.GET.get('limit', '')) limit = checkLimit(request.GET.get('limit', ''))
migrations = MigrationSerializer(Migration.objects.filter(migration_status="Waiting Termination", term_date=timezone.now())[:limit], many=True) migrations = MigrationOverView(Migration.objects.filter(
migration_status="Waiting Termination",)[:limit], many=True)
return Response(migrations.data, status=status.HTTP_200_OK) return Response(migrations.data, status=status.HTTP_200_OK)
class MigrationsCompleted(APIView): class MigrationsCompleted(APIView):
@ -98,7 +94,7 @@ class MigrationsCompleted(APIView):
''' '''
def get(self, request, format=None): def get(self, request, format=None):
limit = checkLimit(request.GET.get('limit', '')) limit = checkLimit(request.GET.get('limit', ''))
migrations = MigrationSerializer(Migration.objects.filter( migrations = MigrationOverView(Migration.objects.filter(
migration_status="Completed",)[:limit], many=True) migration_status="Completed",)[:limit], many=True)
return Response(migrations.data, status=status.HTTP_200_OK) return Response(migrations.data, status=status.HTTP_200_OK)
@ -109,9 +105,10 @@ class PendingMigrations(APIView):
def get(self, request, format=None): def get(self, request, format=None):
limit = checkLimit(request.GET.get('limit', '')) limit = checkLimit(request.GET.get('limit', ''))
migrations = Migration.objects.filter( migrations = Migration.objects.filter(
migration_status="Booked", booked_date=datetime.datetime.now().date() migration_status="Booked", booked_time__lte=timezone.now() + datetime.timedelta(1),
booked_time__gte=(timezone.now() + datetime.timedelta(-1))
)[:limit] )[:limit]
serializer = MigrationSerializer(migrations, many=True) serializer = MigrationOverView(migrations, many=True)
return Response(serializer.data, status=status.HTTP_200_OK) return Response(serializer.data, status=status.HTTP_200_OK)
class MissedMigrations(APIView): class MissedMigrations(APIView):
@ -124,7 +121,7 @@ class MissedMigrations(APIView):
booked_time__lte=timezone.now() + datetime.timedelta(-1), booked_time__lte=timezone.now() + datetime.timedelta(-1),
migration_status="Booked" migration_status="Booked"
)[:limit] )[:limit]
serializer = MigrationSerializer(migrations, many=True) serializer = MigrationOverView(migrations, many=True)
return Response(serializer.data) return Response(serializer.data)
class PendingTerm(APIView): class PendingTerm(APIView):
@ -134,8 +131,9 @@ class PendingTerm(APIView):
def get(self, request, format=None): def get(self, request, format=None):
limit = checkLimit(request.GET.get('limit', '')) limit = checkLimit(request.GET.get('limit', ''))
migrations = Migration.objects.filter( migrations = Migration.objects.filter(
migration_status="Waiting Termination")[:limit] migration_status="Waiting Termination", term_date__lte=timezone.now() + datetime.timedelta(1)
serializer = MigrationSerializer(migrations, many=True) )[:limit]
serializer = MigrationOverView(migrations, many=True)
return Response(serializer.data) return Response(serializer.data)
class MigrationListAll(APIView): class MigrationListAll(APIView):