1
0
mirror of https://github.com/kakwa/ldapcherry synced 2024-06-20 10:43:00 +02:00

adding support for display template parse error

This commit is contained in:
Stan Rudenko 2017-03-02 19:06:54 -08:00
parent e37b88dbda
commit e1a27aa0a7
2 changed files with 35 additions and 21 deletions

View File

@ -30,6 +30,7 @@ from cherrypy.lib.httputil import parse_query_string
# Mako template engines imports
from mako.template import Template
from mako import lookup
from mako import exceptions
from sets import Set
SESSION_KEY = '_cp_username'
@ -1133,6 +1134,8 @@ class LdapCherry(object):
standalone_groups = tmp['unusedgroups']
roles_js = json.dumps(display_names, separators=(',', ':'))
key = self.attributes.get_key()
try:
form = self.temp['form.tmpl'].render(
attributes=self.attributes.attributes,
values=self._escape(user_attrs, 'attr_list'),
@ -1140,6 +1143,7 @@ class LdapCherry(object):
keyattr=key,
autofill=False
)
roles = self.temp['roles.tmpl'].render(
roles=self.roles.flatten,
graph=self.roles.graph,
@ -1147,7 +1151,8 @@ class LdapCherry(object):
roles_js=roles_js,
current_roles=user_roles,
)
return self.temp['modify.tmpl'].render(
glued_template = self.temp['modify.tmpl'].render(
form=form,
roles=roles,
is_admin=is_admin,
@ -1156,6 +1161,10 @@ class LdapCherry(object):
custom_js=self.custom_js,
notifications=self._empty_notification(),
)
except NameError:
raise TemplateRenderError(exceptions.text_error_template().render())
return glued_template
@cherrypy.expose
@exception_decorator

View File

@ -217,6 +217,11 @@ class GroupDoesntExist(Exception):
" in backend '" + backend + "'"
class TemplateRenderError(Exception):
def __init__(self, error):
self.log = "Template Render Error: " + error
def exception_decorator(func):
def ret(self, *args, **kwargs):
try: