From 1ca144ad75a3c391a591b266d4dc027782329d07 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Wed, 5 Feb 2025 12:44:00 +0100
Subject: [PATCH] Fix constraints

---
 aleksis/core/models.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/aleksis/core/models.py b/aleksis/core/models.py
index b632d4353..f1b5ca2cb 100644
--- a/aleksis/core/models.py
+++ b/aleksis/core/models.py
@@ -1707,10 +1707,16 @@ class CalendarEvent(CalendarEventMixin, ExtensiblePolymorphicModel, RecurrenceMo
                 name="datetime_end_or_date_end",
             ),
             models.CheckConstraint(
-                check=Q(datetime_end__gte=F("datetime_start")), name="datetime_start_before_end"
+                check=Q(datetime_end__gte=F("datetime_start"))
+                | Q(datetime_start__isnull=True)
+                | Q(datetime_end__isnull=True),
+                name="datetime_start_before_end",
             ),
             models.CheckConstraint(
-                check=Q(date_end__gte=F("date_start")), name="date_start_before_end"
+                check=Q(date_end__gte=F("date_start"))
+                | Q(date_start__isnull=True)
+                | Q(date_end__isnull=True),
+                name="date_start_before_end",
             ),
             models.CheckConstraint(
                 check=~(Q(datetime_start__isnull=False, timezone="") & ~Q(recurrences="")),
-- 
GitLab