forked from CGM_Public/pretix_original
Added optional links to the order in emails
This commit is contained in:
@@ -7,7 +7,8 @@ from django.utils.translation import ugettext as _
|
|||||||
from typing import Any, Dict
|
from typing import Any, Dict
|
||||||
|
|
||||||
from pretix.base.i18n import LazyI18nString, language
|
from pretix.base.i18n import LazyI18nString, language
|
||||||
from pretix.base.models import Event
|
from pretix.base.models import Event, Order
|
||||||
|
from pretix.multidomain.urlreverse import build_absolute_uri
|
||||||
|
|
||||||
logger = logging.getLogger('pretix.base.mail')
|
logger = logging.getLogger('pretix.base.mail')
|
||||||
|
|
||||||
@@ -19,7 +20,8 @@ class TolerantDict(dict):
|
|||||||
|
|
||||||
|
|
||||||
def mail(email: str, subject: str, template: str,
|
def mail(email: str, subject: str, template: str,
|
||||||
context: Dict[str, Any]=None, event: Event=None, locale: str=None):
|
context: Dict[str, Any]=None, event: Event=None, locale: str=None,
|
||||||
|
order: Order=None):
|
||||||
"""
|
"""
|
||||||
Sends out an email to a user. The mail will be sent synchronously or asynchronously depending on the installation.
|
Sends out an email to a user. The mail will be sent synchronously or asynchronously depending on the installation.
|
||||||
|
|
||||||
@@ -37,6 +39,9 @@ def mail(email: str, subject: str, template: str,
|
|||||||
:param event: The event this email is related to (optional). If set, this will be used to determine the sender,
|
:param event: The event this email is related to (optional). If set, this will be used to determine the sender,
|
||||||
a possible prefix for the subject and the SMTP server that should be used to send this email.
|
a possible prefix for the subject and the SMTP server that should be used to send this email.
|
||||||
|
|
||||||
|
:param order: The order this email is related to (optional). If set, this will be used to include a link to the
|
||||||
|
order below the email.
|
||||||
|
|
||||||
:param locale: The locale to be used while evaluating the subject and the template
|
:param locale: The locale to be used while evaluating the subject and the template
|
||||||
|
|
||||||
:return: ``False`` on obvious, immediate failures, ``True`` otherwise. ``True`` does not necessarily mean that
|
:return: ``False`` on obvious, immediate failures, ``True`` otherwise. ``True`` does not necessarily mean that
|
||||||
@@ -63,6 +68,14 @@ def mail(email: str, subject: str, template: str,
|
|||||||
body += _(
|
body += _(
|
||||||
"You are receiving this email because you placed an order for {event}."
|
"You are receiving this email because you placed an order for {event}."
|
||||||
).format(event=event.name)
|
).format(event=event.name)
|
||||||
|
if order:
|
||||||
|
body += "\r\n"
|
||||||
|
body += _(
|
||||||
|
"You can view your order details at the following URL:\r\n{orderurl}."
|
||||||
|
).format(event=event.name, orderurl=build_absolute_uri(order.event, 'presale:event.order', kwargs={
|
||||||
|
'order': order.code,
|
||||||
|
'secret': order.secret
|
||||||
|
}))
|
||||||
body += "\r\n"
|
body += "\r\n"
|
||||||
return mail_send([email], subject, body, sender, event.id if event else None)
|
return mail_send([email], subject, body, sender, event.id if event else None)
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import warnings
|
|||||||
|
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.conf.urls import include, url
|
from django.conf.urls import include, url
|
||||||
|
|
||||||
from pretix.presale.urls import (
|
from pretix.presale.urls import (
|
||||||
event_patterns, locale_patterns, organizer_patterns,
|
event_patterns, locale_patterns, organizer_patterns,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user