Render markdown in all e-mail previews

This commit is contained in:
Raphael Michel
2019-03-08 12:15:06 +01:00
parent 461b0b639c
commit 206a0a28c7
6 changed files with 275 additions and 271 deletions

View File

@@ -22,13 +22,10 @@
<fieldset>
<legend>{% trans "E-mail preview" %}</legend>
<div class="tab-pane mail-preview-group">
<pre lang="" class="mail-preview">
{% for segment in preview_output %}
{% spaceless %}
{{ segment|linebreaksbr }}
{% endspaceless %}
{% endfor %}
</pre>
<div lang="{{ order.locale }}" class="mail-preview">
<strong>{{ preview_output.subject }}</strong><br><br>
{{ preview_output.html|safe }}
</div>
</div>
</fieldset>
{% endif %}

View File

@@ -60,6 +60,7 @@ from pretix.base.signals import (
register_data_exporters, register_ticket_outputs,
)
from pretix.base.templatetags.money import money_filter
from pretix.base.templatetags.rich_text import markdown_compile_email
from pretix.base.views.mixins import OrderQuestionsViewMixin
from pretix.base.views.tasks import AsyncAction
from pretix.control.forms.filter import EventOrderFilterForm, RefundFilterForm
@@ -1483,10 +1484,10 @@ class OrderSendMail(EventPermissionRequiredMixin, OrderViewMixin, FormView):
email_template = LazyI18nString(form.cleaned_data['message'])
email_content = render_mail(email_template, email_context)
if self.request.POST.get('action') == 'preview':
self.preview_output = []
self.preview_output.append(
_('Subject: {subject}').format(subject=form.cleaned_data['subject']))
self.preview_output.append(email_content)
self.preview_output = {
'subject': _('Subject: {subject}').format(subject=form.cleaned_data['subject']),
'html': markdown_compile_email(email_content)
}
return self.get(self.request, *self.args, **self.kwargs)
else:
try: