Compare commits

...

1 Commits

Author SHA1 Message Date
Phin Wolkwitz
136d20d7bb Remove restrictions that prevent mails to be sent to addon-product-attendees 2026-06-01 13:08:45 +02:00
3 changed files with 15 additions and 4 deletions

View File

@@ -158,7 +158,12 @@ class OrderMailForm(BaseMailForm):
),
label=pgettext_lazy('sendmail_form', 'Restrict to products'),
required=True,
queryset=Item.objects.none()
queryset=Item.objects.none(),
help_text=pgettext_lazy(
'sendmail_form',
'There may be multiple mails sent out to the same mail address if one order contains multiple attendee '
'products for it, if you restrict to products while also restricting mails to attendees only. '
'This is intended, as every one of those get linked to their own separate order page restricted to only that product.')
)
filter_checkins = forms.BooleanField(
label=_('Filter check-in status'),
@@ -366,6 +371,11 @@ class RuleForm(FormPlaceholderMixin, I18nModelForm):
del self.fields['subevent']
self.fields['limit_products'].queryset = Item.objects.filter(event=self.event)
self.fields['limit_products'].help_text = pgettext_lazy(
'sendmail_form',
'There may be multiple mails sent out to the same mail address if one order contains multiple attendee '
'products for it, if you restrict to products while also restricting mails to attendees only. '
'This is intended, as every one of those get linked to their own separate order page restricted to only that product.')
self.fields['schedule_type'] = forms.ChoiceField(
label=_('Type of schedule time'),

View File

@@ -85,8 +85,6 @@ def send_mails_to_orders(event: Event, user: int, subject: dict, message: dict,
)
),
).prefetch_related('addons', 'subevent'):
if p.addon_to_id is not None:
continue
if p.item_id not in items and not any(a.item_id in items for a in p.addons.all()):
continue
@@ -106,6 +104,10 @@ def send_mails_to_orders(event: Event, user: int, subject: dict, message: dict,
if p.attendee_email == o.email and send_to_order:
continue
# the amount of mails could be further restricted if we filter out those where the addon-attendee-email
# is the same as the main-product-attendee-email, however, that bears many issues, e.g. if one of
# those mail-addresses was only a placeholder or if restrictions are set and the main-product is
# excluded -- for now it seems best not to filter them at this point in time
if subevent and p.subevent_id != subevent:
continue

View File

@@ -174,7 +174,6 @@ class OrderPositionDetailMixin(NoSearchIndexViewMixin):
def position(self):
qs = OrderPosition.objects.filter(
order__event=self.request.event,
addon_to__isnull=True,
order__code=self.kwargs['order'],
positionid=self.kwargs['position']
).select_related('order', 'order__event')