add event_end_at to provide full event range config
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details

This commit is contained in:
xAndy 2025-05-15 00:36:37 +02:00
parent 5da9dbdbc4
commit 6e34d8acea
2 changed files with 17 additions and 6 deletions

View File

@ -81,8 +81,16 @@ class FallbackQuota(types.FloatPreference):
@global_preferences_registry.register @global_preferences_registry.register
class EventStartAt(types.DateTimePreference): class EventStartAt(types.DatePreference):
section = helper section = helper
name = "event_start_at" name = "event_start_at"
default = datetime.datetime.now() default = datetime.date(2024, 5, 24)
help_text = "The start date and time of the event. Date navigation will only show days after this time." 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."

View File

@ -26,13 +26,16 @@ def index(request):
days = cache.get("event_days") days = cache.get("event_days")
if not 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 = ( 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") .datetimes("start_at", "day")
.all() .all()
) )
cache.set("event_days", days) cache.set("event_days", days, 60 * 60)
context = { context = {
"days": days, "days": days,