summaryrefslogtreecommitdiff
path: root/ishtar_common/views.py
diff options
context:
space:
mode:
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
commit5f9348cd0509ca9c799542a70adcde4f807830db (patch)
tree36cbe78806ca99e2dc0c6fa258bb1cec06223b3e /ishtar_common/views.py
parent94981020c6acfb212e8326bb3f6a0feb362245e8 (diff)
downloadIshtar-5f9348cd0509ca9c799542a70adcde4f807830db.tar.bz2
Ishtar-5f9348cd0509ca9c799542a70adcde4f807830db.zip
Document generation: display an error page for template error
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r--ishtar_common/views.py9
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'}