From 20dcdaa6996a2f109765c2f2ae00a3aea6683b49 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 23 May 2019 17:52:22 +0200 Subject: Document generation: display an error page for template error --- ishtar_common/views.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'ishtar_common/views.py') diff --git a/ishtar_common/views.py b/ishtar_common/views.py index a10c44c77..98c538c66 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -20,6 +20,7 @@ import csv import datetime import importlib +from jinja2 import TemplateSyntaxError import json import logging import os @@ -34,6 +35,7 @@ from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse, NoReverseMatch from django.db.models import Q +from django.template import loader from django.forms.models import modelformset_factory from django.http import HttpResponse, Http404, HttpResponseRedirect, \ HttpResponseBadRequest, JsonResponse @@ -1892,6 +1894,13 @@ def gen_generate_doc(model): doc = item.publish(template_pk) except model.DoesNotExist: doc = None + except TemplateSyntaxError as e: + dct = { + "error_title": _("Error on your template"), + "error": str(e) + } + template = loader.get_template("error.html") + return HttpResponse(template.render(dct, request)) if doc: MIMES = {'odt': 'application/vnd.oasis.opendocument.text', 'ods': 'application/vnd.oasis.opendocument.spreadsheet'} -- cgit v1.2.3