diff --git a/src/pretix/base/services/waitinglist.py b/src/pretix/base/services/waitinglist.py index 4e03fdd17a..b71c711609 100644 --- a/src/pretix/base/services/waitinglist.py +++ b/src/pretix/base/services/waitinglist.py @@ -36,7 +36,7 @@ def assign_automatically(event_id: int, user_id: int=None, subevent_id: int=None continue ev = (wle.subevent or event) - if not ev.presale_is_running: + if not ev.presale_is_running or (wle.subevent and not wle.subevent.active): continue quotas = (wle.variation.quotas.filter(subevent=wle.subevent) @@ -68,7 +68,9 @@ def assign_automatically(event_id: int, user_id: int=None, subevent_id: int=None @receiver(signal=periodic_task) def process_waitinglist(sender, **kwargs): - qs = Event.objects.prefetch_related('_settings_objects', 'organizer___settings_objects').select_related('organizer') + qs = Event.objects.filter( + live=True + ).prefetch_related('_settings_objects', 'organizer___settings_objects').select_related('organizer') for e in qs: if e.settings.waiting_list_enabled and e.settings.waiting_list_auto and e.presale_is_running: assign_automatically.apply_async(args=(e.pk,))