default schedule
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s

This commit is contained in:
pierre.geeraert
2026-09-08 17:57:24 +01:00
parent f419751206
commit e26ba6d99d
2 changed files with 11 additions and 5 deletions
+8 -3
View File
@@ -1,7 +1,7 @@
from django.contrib import admin,messages from django.contrib import admin,messages
from django.utils.translation import ngettext from django.utils.translation import ngettext
from .models import Deployment_Data,Schedule_Day_Data,Schedule_Week_Data,Namespace_Data 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 from apps.kubernetes_connection.utils import scale_up,scale_down
DB = 'cloudmanager_db' 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)") print("simpsons_data_object.create(season=2, episode=3, url='google.com'', seen=True)")
#call function to trigger refresh of all deploy #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") @admin.action(description="import namespace")
def import_namespace_admin(modeladmin, request, queryset): def import_namespace_admin(modeladmin, request, queryset):
# #
@@ -100,13 +104,13 @@ class MultiDBModelAdmin(admin.ModelAdmin):
class DeploymentDataAdmin(MultiDBModelAdmin): class DeploymentDataAdmin(MultiDBModelAdmin):
list_display = ('name', 'namespace', 'schedule_week', 'schedule_day', 'replicas') list_display = ('name', 'namespace', 'schedule_week', 'schedule_day', 'replicas')
list_filter = (ActiveAtHourFilter,) 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) @admin.register(Schedule_Day_Data)
class ScheduleDayAdmin(MultiDBModelAdmin): class ScheduleDayAdmin(MultiDBModelAdmin):
list_display = ['name_schedule'] + [f'state_at_{h}' for h in range(24)] 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) @admin.register(Schedule_Week_Data)
class ScheduleWeekAdmin(MultiDBModelAdmin): class ScheduleWeekAdmin(MultiDBModelAdmin):
@@ -115,6 +119,7 @@ class ScheduleWeekAdmin(MultiDBModelAdmin):
'state_Monday', 'state_Tuesday', 'state_Wednesday', 'state_Monday', 'state_Tuesday', 'state_Wednesday',
'state_Thursday', 'state_Friday', 'state_Saturday', 'state_Sunday', 'state_Thursday', 'state_Friday', 'state_Saturday', 'state_Sunday',
) )
actions = [import_deployment_admin,generate_default_day_schedule_admin]
@admin.register(Namespace_Data) @admin.register(Namespace_Data)
class NamespaceAdmin(MultiDBModelAdmin): class NamespaceAdmin(MultiDBModelAdmin):
+2 -1
View File
@@ -12,4 +12,5 @@ def import_deployment(queryset):
queryset.objects.update_or_create(namespace=deployment[0],name=deployment[1],defaults={"replicas":deployment[2]}) queryset.objects.update_or_create(namespace=deployment[0],name=deployment[1],defaults={"replicas":deployment[2]})
def generate_default_day_schedule(queryset): 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})