refactor: move get_rendered_template() into WebTemplate.render()

This commit is contained in:
barredterra 2020-09-21 12:19:55 +02:00
parent d02335238e
commit 0475004fea
2 changed files with 15 additions and 22 deletions

View file

@ -6,12 +6,10 @@ from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
from frappe.website.doctype.web_template.web_template import get_rendered_template
class WebPageBlock(Document):
def render(self):
values = self.web_template_values or '{}'
values = frappe.parse_json(values)
rendered_html = get_rendered_template(self.web_template, values)
return rendered_html
web_template = frappe.get_doc("Web Template", self.web_template)
return web_template.render(self.web_template_values)

View file

@ -46,22 +46,17 @@ class WebTemplate(Document):
def render(self, values):
values = values or "{}"
values = frappe.parse_json(values)
return get_rendered_template(self.name, values)
if self.standard:
module_path = get_module_path(self.module or "Website")
dt, dn = scrub_dt_dn("Web Template", self.name)
scrubbed = frappe.scrub(self.name)
full_path = os.path.join("frappe", module_path, dt, dn, scrubbed + ".html")
root_app_path = os.path.abspath(os.path.join(frappe.get_app_path("frappe"), ".."))
template = os.path.relpath(full_path, root_app_path)
else:
template = self.template
def get_rendered_template(web_template_name, values):
web_template = frappe.get_doc("Web Template", web_template_name)
if web_template.standard:
module_path = get_module_path(web_template.module)
dt, dn = scrub_dt_dn("Web Template", web_template.name)
scrubbed = frappe.scrub(web_template.name)
full_path = os.path.join("frappe", module_path, dt, dn, scrubbed + ".html")
root_app_path = os.path.abspath(os.path.join(frappe.get_app_path("frappe"), ".."))
template = os.path.relpath(full_path, root_app_path)
else:
template = web_template.template
context = values or {}
context.update({"values": values})
return frappe.render_template(template, context)
context = values or {}
context.update({"values": values})
return frappe.render_template(template, context)