From 6e34d8aceaac2443db1a96b97741d95aafd10cc4 Mon Sep 17 00:00:00 2001 From: xAndy Date: Thu, 15 May 2025 00:36:37 +0200 Subject: [PATCH] add event_end_at to provide full event range config --- shiftregister/app/dynamic_preferences_registry.py | 14 +++++++++++--- shiftregister/app/views.py | 9 ++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/shiftregister/app/dynamic_preferences_registry.py b/shiftregister/app/dynamic_preferences_registry.py index d8ac1b3..2bb7ee5 100644 --- a/shiftregister/app/dynamic_preferences_registry.py +++ b/shiftregister/app/dynamic_preferences_registry.py @@ -81,8 +81,16 @@ class FallbackQuota(types.FloatPreference): @global_preferences_registry.register -class EventStartAt(types.DateTimePreference): +class EventStartAt(types.DatePreference): section = helper name = "event_start_at" - default = datetime.datetime.now() - help_text = "The start date and time of the event. Date navigation will only show days after this time." + default = datetime.date(2024, 5, 24) + help_text = "The start date and time of the event. Date navigation will only show days between start and end time." + + +@global_preferences_registry.register +class EventEndAt(types.DatePreference): + section = helper + name = "event_end_at" + default = datetime.date(2025, 5, 28) + help_text = "The end date and time of the event. Date navigation will only show days between start and end time." diff --git a/shiftregister/app/views.py b/shiftregister/app/views.py index 5195316..0bca633 100644 --- a/shiftregister/app/views.py +++ b/shiftregister/app/views.py @@ -26,13 +26,16 @@ def index(request): days = cache.get("event_days") if not days: - event_start = global_preferences["helper__event_start_at"] + event_start_at = global_preferences["helper__event_start_at"] + event_end_at = global_preferences["helper__event_end_at"] days = ( - Shift.objects.filter(deleted=False, start_at__gte=event_start) + Shift.objects.filter( + deleted=False, start_at__gte=event_start_at, start_at__lte=event_end_at + ) .datetimes("start_at", "day") .all() ) - cache.set("event_days", days) + cache.set("event_days", days, 60 * 60) context = { "days": days,