diff --git a/AKModel/models.py b/AKModel/models.py index 8601a992ff365194fface4b867212353641209f4..f11c66e254d222a7edefb038b5dd7d637a81a3a0 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -1006,7 +1006,8 @@ class AKSlot(models.Model): ak_time_constraints = [] def _owner_time_constraints(owner: AKOwner): - if Availability.is_event_covered(self.event, owner.availabilities.all()): + owner_avails = owner.availabilities.all() + if not owner_avails or Availability.is_event_covered(self.event, owner_avails): return [] return [f"availability-person-{owner.pk}"] diff --git a/AKModel/tests/test_json_export.py b/AKModel/tests/test_json_export.py index d53cd4c526c4372d0443982a0afaf90b71959191..5a604dc76419bb3d6cdc2a8d675c611a774913e1 100644 --- a/AKModel/tests/test_json_export.py +++ b/AKModel/tests/test_json_export.py @@ -479,6 +479,10 @@ class JSONExportTest(TestCase): for owner in slot.ak.owners.all(): # restricted owner availability + if not owner.availabilities.all(): + # no availability for owner -> assume full event is covered + continue + if not Availability.is_event_covered( slot.event, owner.availabilities.all() ):