diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-05-23 17:52:22 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-06-17 13:21:28 +0200 |
commit | 20dcdaa6996a2f109765c2f2ae00a3aea6683b49 (patch) | |
tree | 36cbe78806ca99e2dc0c6fa258bb1cec06223b3e /ishtar_common/views.py | |
parent | 7d80c4bb2fae21c4b962913480ae84df5955fcb1 (diff) | |
download | Ishtar-20dcdaa6996a2f109765c2f2ae00a3aea6683b49.tar.bz2 Ishtar-20dcdaa6996a2f109765c2f2ae00a3aea6683b49.zip |
Document generation: display an error page for template error
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 9 |
1 files changed, 9 insertions, 0 deletions
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'} |