agendas: do not send reminders to waiting list (#69309)

This commit is contained in:
Emmanuel Cazenave 2022-09-20 10:08:43 +02:00
parent 2fb68bcb8a
commit a8871cdeec
2 changed files with 22 additions and 0 deletions

View File

@ -57,6 +57,7 @@ class Command(BaseCommand):
creation_datetime__lte=created_before,
event__start_datetime__lte=starts_before,
event__start_datetime__gte=starts_after,
in_waiting_list=False,
**{f'{msg_type}_reminder_datetime__isnull': True},
).select_related('event', 'event__agenda', 'event__agenda__reminder_settings')

View File

@ -2093,6 +2093,27 @@ def test_agenda_reminders_meetings(mailoutbox, freezer):
assert 'href="http://example.org/someform/1/"' in mail.alternatives[0][0]
def test_agenda_reminders_waiting_list(mailoutbox, freezer):
agenda = Agenda.objects.create(label='Events', kind='events')
freezer.move_to('2020-01-01 14:00')
# configure reminder the day before
AgendaReminderSettings.objects.create(agenda=agenda, days_before_email=1)
# event starts in 2 days
start_datetime = now() + datetime.timedelta(days=2)
event = Event.objects.create(agenda=agenda, start_datetime=start_datetime, places=10, label='Event')
for _ in range(5):
Booking.objects.create(event=event, user_email='t@test.org')
# extra booking in waiting list, should be ignored
Booking.objects.create(event=event, user_email='t@test.org', in_waiting_list=True)
freezer.move_to('2020-01-02 15:00')
call_command('send_booking_reminders')
assert len(mailoutbox) == 5
mailoutbox.clear()
def test_anonymize_bookings(freezer):
day = datetime.datetime(year=2020, month=1, day=1)
freezer.move_to(day)