From 97df6349ab0b3720675e8614f75ee5dadb82e1f3 Mon Sep 17 00:00:00 2001 From: Artur Borecki Date: Thu, 23 Apr 2026 18:17:20 +0200 Subject: [PATCH] feat(pages.py): delete event's future occurrences if unpublished --- home/models/pages.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/home/models/pages.py b/home/models/pages.py index 4257e5f..0b6bf8e 100644 --- a/home/models/pages.py +++ b/home/models/pages.py @@ -328,6 +328,12 @@ class EventPage(Page): from .event_occurrence import EventOccurrence now = timezone.now() + + if not self.live: + # if not live, no future occurrences should be generated + self.occurrences.filter(start__gt=now).delete() + return + if not self.recurrence_enabled: # if recurrence is not enabled, ensure there's at least one occurrence for the specified start/end # and delete any other occurrences that don't match the current start/end @@ -379,8 +385,7 @@ class EventPage(Page): def save(self, *args, **kwargs): super().save(*args, **kwargs) - if self.live: - self.generate_occurrences() + self.generate_occurrences() content_panels = Page.content_panels + [ FieldPanel("tags"),