Compare commits
2 Commits
eea11ef5ba
...
e9388ee78f
| Author | SHA1 | Date | |
|---|---|---|---|
| e9388ee78f | |||
| 086ff471c9 |
@ -6,9 +6,9 @@ from .models import Migration
|
||||
|
||||
class MigrationAdmin(admin.ModelAdmin):
|
||||
list_display = ('ticket_id', 'booked_date' , 'booked_time',
|
||||
'migration_status', 'domain', 'brand')
|
||||
'migration_status', 'domain', 'brand', 'agent_booked')
|
||||
search_fields = ['domain', 'booked_time',
|
||||
'username', 'ticket_id', 'migration_status']
|
||||
'username', 'ticket_id', 'migration_status', 'agent_booked']
|
||||
|
||||
|
||||
admin.site.register(Migration, MigrationAdmin)
|
||||
|
||||
@ -1,15 +1,30 @@
|
||||
from rest_framework import serializers
|
||||
from .models import Migration
|
||||
import datetime
|
||||
|
||||
class MigrationOverView(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Migration
|
||||
fields = ['id',
|
||||
'domain',
|
||||
'booked_date',
|
||||
'booked_time',
|
||||
'migration_status',
|
||||
'term_date']
|
||||
# class MigrationOverView(serializers.ModelSerializer):
|
||||
# booked_count = serializers.SerializerMethodField()
|
||||
# missed_count = serializers.SerializerMethodField()
|
||||
# awaitterm_count = serializers.SerializerMethodField()
|
||||
# complete_count = serializers.SerializerMethodField()
|
||||
# class Meta:
|
||||
# model = Migration
|
||||
# fields = ['booked_count',
|
||||
# 'missed_count',
|
||||
# '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 Meta:
|
||||
@ -31,4 +46,4 @@ class MigrationSerializer(serializers.ModelSerializer):
|
||||
'migration_type',
|
||||
'term_date',
|
||||
'migration_cmd',
|
||||
'extra_scripts_run']
|
||||
'extra_scripts_run']
|
||||
@ -9,7 +9,7 @@ from rest_framework import status, viewsets
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.decorators import action
|
||||
from .serializers import MigrationSerializer, MigrationOverView
|
||||
from .serializers import MigrationSerializer
|
||||
|
||||
|
||||
from .models import Migration
|
||||
@ -32,10 +32,15 @@ class MigrationList(APIView):
|
||||
Returns a list of migrations with simpleData
|
||||
'''
|
||||
def get(self, request, format=None):
|
||||
limit = checkLimit(request.GET.get('limit', ''))
|
||||
migrations = getAllMigrations(limit)
|
||||
serializer = MigrationOverView(migrations, many=True)
|
||||
return Response(serializer.data)
|
||||
return Response({'booked_count': Migration.objects.filter(migration_status="Booked").count(),
|
||||
'pendterm_count': Migration.objects.filter(migration_status="Waiting Termination", term_date=timezone.now()).count(),
|
||||
'complete_count': Migration.objects.filter(migration_status="Completed").count(),
|
||||
'missed_count': Migration.objects.filter(
|
||||
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):
|
||||
serializer = MigrationSerializer(data=request.data)
|
||||
@ -84,8 +89,7 @@ class MigrationsWaitingTerm(APIView):
|
||||
'''
|
||||
def get(self, request, format=None):
|
||||
limit = checkLimit(request.GET.get('limit', ''))
|
||||
migrations = MigrationOverView(Migration.objects.filter(
|
||||
migration_status="Waiting Termination",)[:limit], many=True)
|
||||
migrations = MigrationSerializer(Migration.objects.filter(migration_status="Waiting Termination", term_date=timezone.now())[:limit], many=True)
|
||||
return Response(migrations.data, status=status.HTTP_200_OK)
|
||||
|
||||
class MigrationsCompleted(APIView):
|
||||
@ -94,7 +98,7 @@ class MigrationsCompleted(APIView):
|
||||
'''
|
||||
def get(self, request, format=None):
|
||||
limit = checkLimit(request.GET.get('limit', ''))
|
||||
migrations = MigrationOverView(Migration.objects.filter(
|
||||
migrations = MigrationSerializer(Migration.objects.filter(
|
||||
migration_status="Completed",)[:limit], many=True)
|
||||
return Response(migrations.data, status=status.HTTP_200_OK)
|
||||
|
||||
@ -105,10 +109,9 @@ class PendingMigrations(APIView):
|
||||
def get(self, request, format=None):
|
||||
limit = checkLimit(request.GET.get('limit', ''))
|
||||
migrations = Migration.objects.filter(
|
||||
migration_status="Booked", booked_time__lte=timezone.now() + datetime.timedelta(1),
|
||||
booked_time__gte=(timezone.now() + datetime.timedelta(-1))
|
||||
migration_status="Booked", booked_date=datetime.datetime.now().date()
|
||||
)[:limit]
|
||||
serializer = MigrationOverView(migrations, many=True)
|
||||
serializer = MigrationSerializer(migrations, many=True)
|
||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||
|
||||
class MissedMigrations(APIView):
|
||||
@ -121,7 +124,7 @@ class MissedMigrations(APIView):
|
||||
booked_time__lte=timezone.now() + datetime.timedelta(-1),
|
||||
migration_status="Booked"
|
||||
)[:limit]
|
||||
serializer = MigrationOverView(migrations, many=True)
|
||||
serializer = MigrationSerializer(migrations, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
class PendingTerm(APIView):
|
||||
@ -131,9 +134,8 @@ class PendingTerm(APIView):
|
||||
def get(self, request, format=None):
|
||||
limit = checkLimit(request.GET.get('limit', ''))
|
||||
migrations = Migration.objects.filter(
|
||||
migration_status="Waiting Termination", term_date__lte=timezone.now() + datetime.timedelta(1)
|
||||
)[:limit]
|
||||
serializer = MigrationOverView(migrations, many=True)
|
||||
migration_status="Waiting Termination")[:limit]
|
||||
serializer = MigrationSerializer(migrations, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
class MigrationListAll(APIView):
|
||||
|
||||
Reference in New Issue
Block a user