From 7f54939b90906db7afba3a7c29c9d16f14a31498 Mon Sep 17 00:00:00 2001 From: Jens Kleineheismann Date: Tue, 27 Nov 2018 10:11:18 +0100 Subject: [PATCH] FIX: do not escape html entities in plain text templates. --- .../Resources/django.main.additional_settings.py | 15 +++++++++++++++ dav_events/emails.py | 2 +- dav_events/models/event.py | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/dav_events/console_scripts/Resources/django.main.additional_settings.py b/dav_events/console_scripts/Resources/django.main.additional_settings.py index e0061e1..488eb5a 100644 --- a/dav_events/console_scripts/Resources/django.main.additional_settings.py +++ b/dav_events/console_scripts/Resources/django.main.additional_settings.py @@ -15,6 +15,21 @@ INSTALLED_APPS += [ 'dav_events', ] +TEMPLATES += [ + { + 'NAME': 'PLAINTEXT', + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'autoescape': False, + 'context_processors': [ + 'django.template.context_processors.debug', + ], + }, + }, +] + DATABASES['default'] = { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_VAR_DIR, 'db', 'devel.sqlite3'), diff --git a/dav_events/emails.py b/dav_events/emails.py index b8d5121..2821813 100644 --- a/dav_events/emails.py +++ b/dav_events/emails.py @@ -28,7 +28,7 @@ class AbstractMail(object): def _get_template(self): if not self._template_name: raise ImproperlyConfigured('%s._template_name ist not set.', self.__class__.__name__) - return get_template(self._template_name) + return get_template(self._template_name, using='PLAINTEXT') def _get_context_data(self, extra_context=None): app_config = apps.get_containing_app_config(__package__) diff --git a/dav_events/models/event.py b/dav_events/models/event.py index ed1abf5..b5d2fbd 100644 --- a/dav_events/models/event.py +++ b/dav_events/models/event.py @@ -553,7 +553,7 @@ class Event(models.Model): template_name = 'default.txt' template_path = os.path.join('dav_events', 'event', template_name) - template = get_template(template_path) + template = get_template(template_path, using='PLAINTEXT') return template.render(self.get_template_context({'show_internal_fields': show_internal_fields})) def render_as_html(self):