From 754d4f4f62770ed62cf79da8e0eeac557f624ad1 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 4 Nov 2021 10:20:07 +0100 Subject: [PATCH] Sendmail: Fix subevent-less rules in event series --- src/pretix/plugins/sendmail/models.py | 2 ++ src/pretix/plugins/sendmail/signals.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pretix/plugins/sendmail/models.py b/src/pretix/plugins/sendmail/models.py index 8e75cf5481..859603d03f 100644 --- a/src/pretix/plugins/sendmail/models.py +++ b/src/pretix/plugins/sendmail/models.py @@ -104,6 +104,8 @@ class ScheduledMail(models.Model): orders = orders.filter( Exists(OrderPosition.objects.filter(order=OuterRef('pk'), subevent=self.subevent)) ) + elif e.has_subevents: + return # This rule should not even exist if not self.rule.all_products: orders = orders.filter( diff --git a/src/pretix/plugins/sendmail/signals.py b/src/pretix/plugins/sendmail/signals.py index fe953c88dd..6472a8c6d2 100644 --- a/src/pretix/plugins/sendmail/signals.py +++ b/src/pretix/plugins/sendmail/signals.py @@ -63,7 +63,7 @@ def scheduled_mail_create(sender, **kwargs): existing_rules = ScheduledMail.objects.filter(subevent=subevent).values_list('rule_id', flat=True) to_create = [] for rule in event.sendmail_rules.all(): - if rule.pk not in existing_rules: + if rule.pk not in existing_rules and subevent: sm = ScheduledMail(rule=rule, event=event, subevent=subevent) sm.recompute() to_create.append(sm)