Explorar el Código

Validate jinja2 syntax before saving print format

version-14
Pratik Vyas hace 10 años
padre
commit
79ce25d44a
Se han modificado 1 ficheros con 7 adiciones y 0 borrados
  1. +7
    -0
      frappe/core/doctype/print_format/print_format.py

+ 7
- 0
frappe/core/doctype/print_format/print_format.py Ver fichero

@@ -4,6 +4,7 @@
from __future__ import unicode_literals
import frappe
import frappe.utils
from jinja2 import TemplateSyntaxError

from frappe.model.document import Document

@@ -16,6 +17,12 @@ class PrintFormat(Document):
self.old_doc_type = frappe.db.get_value('Print Format',
self.name, 'doc_type')

jenv = frappe.get_jenv()
try:
jenv.from_string(self.html)
except TemplateSyntaxError:
frappe.throw(frappe._("Syntax error in Jinja template"))

def on_update(self):
if hasattr(self, 'old_doc_type') and self.old_doc_type:
frappe.clear_cache(doctype=self.old_doc_type)


Cargando…
Cancelar
Guardar