agendas: fix event_overlaps method with recurrences (#80851)
gitea/chrono/pipeline/head This commit looks good
Details
gitea/chrono/pipeline/head This commit looks good
Details
This commit is contained in:
parent
d16b35067e
commit
0b6ca9d5d2
|
@ -1121,7 +1121,10 @@ class Agenda(models.Model):
|
|||
return True
|
||||
|
||||
def event_overlaps(self, start_datetime, recurrence_days, recurrence_end_date, instance=None):
|
||||
qs = self.event_set
|
||||
qs = self.event_set.filter(
|
||||
# exclude recurrences, check only recurring and normal events
|
||||
primary_event__isnull=True
|
||||
)
|
||||
if hasattr(instance, 'pk'):
|
||||
qs = qs.exclude(pk=instance.pk)
|
||||
|
||||
|
|
|
@ -3855,6 +3855,7 @@ def test_agenda_event_overlaps_recurring():
|
|||
assert agenda.event_overlaps(**event_kwargs) is False
|
||||
|
||||
event = Event.objects.create(agenda=agenda, places=1, **event_kwargs)
|
||||
event.create_all_recurrences()
|
||||
|
||||
assert agenda.event_overlaps(**event_kwargs) is True
|
||||
assert agenda.event_overlaps(instance=event, **event_kwargs) is False
|
||||
|
|
Loading…
Reference in New Issue