diff --git a/django_code/apps/cloudmanager/admin.py b/django_code/apps/cloudmanager/admin.py index 5847579..462f4b9 100644 --- a/django_code/apps/cloudmanager/admin.py +++ b/django_code/apps/cloudmanager/admin.py @@ -1,7 +1,7 @@ from django.contrib import admin,messages from django.utils.translation import ngettext from .models import Deployment_Data,Schedule_Day_Data,Schedule_Week_Data,Namespace_Data -from .utils import import_namespace,import_deployment +from .utils import import_namespace,import_deployment,generate_default_day_schedule from apps.kubernetes_connection.utils import scale_up,scale_down DB = 'cloudmanager_db' @@ -43,6 +43,10 @@ def create_entry(modeladmin, request, queryset): print("simpsons_data_object.create(season=2, episode=3, url='google.com'', seen=True)") #call function to trigger refresh of all deploy +@admin.action(description="create default schedule") +def generate_default_day_schedule_admin(modeladmin, request, queryset): + generate_default_day_schedule(Schedule_Day_Data) + @admin.action(description="import namespace") def import_namespace_admin(modeladmin, request, queryset): # @@ -100,13 +104,13 @@ class MultiDBModelAdmin(admin.ModelAdmin): class DeploymentDataAdmin(MultiDBModelAdmin): list_display = ('name', 'namespace', 'schedule_week', 'schedule_day', 'replicas') list_filter = (ActiveAtHourFilter,) - actions = [scale_up_deploy,scale_down_deploy,import_deployment_admin] + actions = [scale_up_deploy,scale_down_deploy,import_deployment_admin,generate_default_day_schedule_admin] @admin.register(Schedule_Day_Data) class ScheduleDayAdmin(MultiDBModelAdmin): list_display = ['name_schedule'] + [f'state_at_{h}' for h in range(24)] - + actions = [import_deployment_admin,generate_default_day_schedule_admin] @admin.register(Schedule_Week_Data) class ScheduleWeekAdmin(MultiDBModelAdmin): @@ -115,7 +119,8 @@ class ScheduleWeekAdmin(MultiDBModelAdmin): 'state_Monday', 'state_Tuesday', 'state_Wednesday', 'state_Thursday', 'state_Friday', 'state_Saturday', 'state_Sunday', ) - + actions = [import_deployment_admin,generate_default_day_schedule_admin] + @admin.register(Namespace_Data) class NamespaceAdmin(MultiDBModelAdmin): list_display = ('namespace',) diff --git a/django_code/apps/cloudmanager/utils.py b/django_code/apps/cloudmanager/utils.py index 07bb935..bf4621b 100644 --- a/django_code/apps/cloudmanager/utils.py +++ b/django_code/apps/cloudmanager/utils.py @@ -12,4 +12,5 @@ def import_deployment(queryset): queryset.objects.update_or_create(namespace=deployment[0],name=deployment[1],defaults={"replicas":deployment[2]}) def generate_default_day_schedule(queryset): - Schedule_Day_Data.objects.update_or_create(name="Always_off",defaults={"state_at_0" : False ,"state_at_1" : False ,"state_at_2" : False ,"state_at_3" : False ,"state_at_4" : False ,"state_at_5" : False ,"state_at_6" : False ,"state_at_7" : False ,"state_at_8" : False ,"state_at_9" : False ,"state_at_1False" : False ,"state_at_11" : False ,"state_at_12" : False ,"state_at_13" : False ,"state_at_14" : False ,"state_at_15" : False ,"state_at_16" : False ,"state_at_17" : False ,"state_at_18" : False ,"state_at_19" : False ,"state_at_2False" : False ,"state_at_21" : False ,"state_at_22" : False ,"state_at_23" : False}) + queryset.objects.update_or_create(name="Always_off",defaults={"state_at_0" : False ,"state_at_1" : False ,"state_at_2" : False ,"state_at_3" : False ,"state_at_4" : False ,"state_at_5" : False ,"state_at_6" : False ,"state_at_7" : False ,"state_at_8" : False ,"state_at_9" : False ,"state_at_1False" : False ,"state_at_11" : False ,"state_at_12" : False ,"state_at_13" : False ,"state_at_14" : False ,"state_at_15" : False ,"state_at_16" : False ,"state_at_17" : False ,"state_at_18" : False ,"state_at_19" : False ,"state_at_2False" : False ,"state_at_21" : False ,"state_at_22" : False ,"state_at_23" : False}) + queryset.objects.update_or_create(name="Always_off",defaults={"state_at_0" : True ,"state_at_1" : True ,"state_at_2" : True ,"state_at_3" : True ,"state_at_4" : True ,"state_at_5" : True ,"state_at_6" : True ,"state_at_7" : True ,"state_at_8" : True ,"state_at_9" : True ,"state_at_1True" : True ,"state_at_11" : True ,"state_at_12" : True ,"state_at_13" : True ,"state_at_14" : True ,"state_at_15" : True ,"state_at_16" : True ,"state_at_17" : True ,"state_at_18" : True ,"state_at_19" : True ,"state_at_2True" : True ,"state_at_21" : True ,"state_at_22" : True ,"state_at_23" : True}) \ No newline at end of file