mirror of
https://github.com/pretix/pretix.git
synced 2026-05-08 15:44:02 +00:00
Add signal global_email_filter
This commit is contained in:
@@ -29,7 +29,7 @@ from pretix.base.models import (
|
|||||||
from pretix.base.services.invoices import invoice_pdf_task
|
from pretix.base.services.invoices import invoice_pdf_task
|
||||||
from pretix.base.services.tasks import TransactionAwareTask
|
from pretix.base.services.tasks import TransactionAwareTask
|
||||||
from pretix.base.services.tickets import get_tickets_for_order
|
from pretix.base.services.tickets import get_tickets_for_order
|
||||||
from pretix.base.signals import email_filter
|
from pretix.base.signals import email_filter, global_email_filter
|
||||||
from pretix.celery_app import app
|
from pretix.celery_app import app
|
||||||
from pretix.multidomain.urlreverse import build_absolute_uri
|
from pretix.multidomain.urlreverse import build_absolute_uri
|
||||||
|
|
||||||
@@ -305,6 +305,8 @@ def mail_send_task(self, *args, to: List[str], subject: str, body: str, html: st
|
|||||||
|
|
||||||
email = email_filter.send_chained(event, 'message', message=email, order=order, user=user)
|
email = email_filter.send_chained(event, 'message', message=email, order=order, user=user)
|
||||||
|
|
||||||
|
email = global_email_filter.send_chained(None, 'message', message=email, user=user)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
backend.send_messages([email])
|
backend.send_messages([email])
|
||||||
except smtplib.SMTPResponseException as e:
|
except smtplib.SMTPResponseException as e:
|
||||||
|
|||||||
@@ -514,6 +514,18 @@ If the email is associated with a specific user, e.g. a notification email, the
|
|||||||
well, otherwise it will be ``None``.
|
well, otherwise it will be ``None``.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
global_email_filter = django.dispatch.Signal(
|
||||||
|
providing_args=['message', 'user']
|
||||||
|
)
|
||||||
|
"""
|
||||||
|
This signal allows you to implement a middleware-style filter on all outgoing emails. You are expected to
|
||||||
|
return a (possibly modified) copy of the message object passed to you.
|
||||||
|
|
||||||
|
This signal is called on all events and even if there is no known event. ``sender`` is None.
|
||||||
|
The ``message`` argument will contain an ``EmailMultiAlternatives`` object.
|
||||||
|
If the email is associated with a specific user, e.g. a notification email, the ``user`` argument will be passed as
|
||||||
|
well, otherwise it will be ``None``.
|
||||||
|
"""
|
||||||
|
|
||||||
layout_text_variables = EventPluginSignal()
|
layout_text_variables = EventPluginSignal()
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user