From 27c519f2eef90587fe1335236fbd7f055206f7ee Mon Sep 17 00:00:00 2001 From: Alex Seeholzer Date: Fri, 13 Nov 2015 15:36:04 +0100 Subject: [PATCH] downwards compatibility for django < 1.8 --- helpdesk/lib.py | 16 +++++++++------- helpdesk/views/staff.py | 9 +++++++-- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/helpdesk/lib.py b/helpdesk/lib.py index 1298c57b..3e031190 100644 --- a/helpdesk/lib.py +++ b/helpdesk/lib.py @@ -86,9 +86,13 @@ def send_templated_mail(template_name, email_context, recipients, sender=None, b footer_file = os.path.join('helpdesk', locale, 'email_text_footer.txt') # get_template_from_string was removed in Django 1.8 http://django.readthedocs.org/en/1.8.x/ref/templates/upgrading.html - from django.template import engines - - text_part = engines['django'].from_string( + try: + from django.template import engines + template_func = engines['django'].from_string + except ImportError: # occurs in django < 1.8 + template_func = loader.get_template_from_string + + text_part = template_func( "%s{%% include '%s' %%}" % (t.plain_text, footer_file) ).render(context) @@ -103,15 +107,13 @@ def send_templated_mail(template_name, email_context, recipients, sender=None, b html_txt = html_txt.replace('\r\n', '
') context['comment'] = mark_safe(html_txt) - from django.template import engines - # get_template_from_string was removed in Django 1.8 http://django.readthedocs.org/en/1.8.x/ref/templates/upgrading.html - html_part = engines['django'].from_string( + html_part = template_func( "{%% extends '%s' %%}{%% block title %%}%s{%% endblock %%}{%% block content %%}%s{%% endblock %%}" % (email_html_base_file, t.heading, t.html) ).render(context) # get_template_from_string was removed in Django 1.8 http://django.readthedocs.org/en/1.8.x/ref/templates/upgrading.html - subject_part = engines['django'].from_string( + subject_part = template_func( HELPDESK_EMAIL_SUBJECT_TEMPLATE % { "subject": t.subject, }).render(context) diff --git a/helpdesk/views/staff.py b/helpdesk/views/staff.py index 22e5a538..c44073f1 100644 --- a/helpdesk/views/staff.py +++ b/helpdesk/views/staff.py @@ -370,8 +370,13 @@ def update_ticket(request, ticket_id, public=False): # get_template_from_string was removed in Django 1.8 http://django.readthedocs.org/en/1.8.x/ref/templates/upgrading.html - from django.template import engines - comment = engines['django'].from_string(comment).render(Context(context)) + try: + from django.template import engines + template_func = engines['django'].from_string + except ImportError: # occurs in django < 1.8 + template_func = loader.get_template_from_string + + comment = template_func(comment).render(Context(context)) if owner is -1 and ticket.assigned_to: owner = ticket.assigned_to.id