common (template): better json dumping:

default method is set for json dumping (the `tojson` filter), if the object has a `json`
attribute, it will be called, otherwise it is replaced by None, this avoids crash when
rendering the template.
This commit is contained in:
Goffi 2020-06-19 15:45:57 +02:00
commit 4b0d91cb2e

View file

@ -451,6 +451,11 @@ class Renderer(object):
# policies
self.env.policies["ext.i18n.trimmed"] = True
self.env.policies["json.dumps_kwargs"] = {
"sort_keys": True,
# if object can't be serialised, we use None
"default": lambda o: o.json() if hasattr(o, "json") else None
}
def getFrontURL(self, template_data, path=None):
"""Give front URL (i.e. URL seen by end-user) of a path