Fix #953 -- Render markdown in email text previews

This commit is contained in:
Raphael Michel
2018-12-02 17:11:09 +01:00
parent 0f9755e36f
commit efca46945a
4 changed files with 42 additions and 10 deletions

View File

@@ -5,6 +5,7 @@ from datetime import timedelta
from decimal import Decimal
from urllib.parse import urlsplit
import bleach
from django.conf import settings
from django.contrib import messages
from django.contrib.contenttypes.models import ContentType
@@ -38,6 +39,7 @@ from pretix.base.services import tickets
from pretix.base.services.invoices import build_preview_invoice_pdf
from pretix.base.signals import register_ticket_outputs
from pretix.base.templatetags.money import money_filter
from pretix.base.templatetags.rich_text import markdown_compile
from pretix.control.forms.event import (
CommentForm, DisplaySettingsForm, EventDeleteForm, EventMetaValueForm,
EventSettingsForm, EventUpdateForm, InvoiceSettingsForm, MailSettingsForm,
@@ -614,7 +616,9 @@ class MailSettingsPreview(EventPermissionRequiredMixin, View):
idx = matched.group('idx')
if idx in self.supported_locale:
with translation.override(self.supported_locale[idx]):
msgs[self.supported_locale[idx]] = v.format_map(self.placeholders(preview_item))
msgs[self.supported_locale[idx]] = bleach.linkify(markdown_compile(
v.format_map(self.placeholders(preview_item))
))
return JsonResponse({
'item': preview_item,