Merge pull request #13842 from netchampfaris/safe-render-off
fix: ability to disable safe_render for template pages
This commit is contained in:
commit
3dc9dfe0c7
4 changed files with 29 additions and 1 deletions
|
|
@ -280,6 +280,16 @@ class TestWebsite(unittest.TestCase):
|
|||
|
||||
frappe.flags.force_website_cache = False
|
||||
|
||||
def test_safe_render(self):
|
||||
content = get_response_content('/_test/_test_safe_render_on')
|
||||
self.assertNotIn("Safe Render On", content)
|
||||
self.assertIn("frappe.exceptions.ValidationError: Illegal template", content)
|
||||
|
||||
content = get_response_content('/_test/_test_safe_render_off')
|
||||
self.assertIn("Safe Render Off", content)
|
||||
self.assertIn("test.__test", content)
|
||||
self.assertNotIn("frappe.exceptions.ValidationError: Illegal template", content)
|
||||
|
||||
|
||||
def set_home_page_hook(key, value):
|
||||
from frappe import hooks
|
||||
|
|
|
|||
|
|
@ -204,7 +204,12 @@ class TemplatePage(BaseTemplatePage):
|
|||
if self.template_path.endswith('min.js'):
|
||||
html = self.source # static
|
||||
else:
|
||||
html = frappe.render_template(self.source, self.context)
|
||||
if self.context.safe_render is not None:
|
||||
safe_render = self.context.safe_render
|
||||
else:
|
||||
safe_render = True
|
||||
|
||||
html = frappe.render_template(self.source, self.context, safe_render=safe_render)
|
||||
|
||||
return html
|
||||
|
||||
|
|
|
|||
7
frappe/www/_test/_test_safe_render_off.html
Normal file
7
frappe/www/_test/_test_safe_render_off.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: Safe Render Off
|
||||
safe_render: false
|
||||
---
|
||||
|
||||
<div>{{ title }}</div>
|
||||
<div>test.__test</div>
|
||||
6
frappe/www/_test/_test_safe_render_on.html
Normal file
6
frappe/www/_test/_test_safe_render_on.html
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: Safe Render On
|
||||
---
|
||||
|
||||
<div>{{ title }}</div>
|
||||
<div>test.__test</div>
|
||||
Loading…
Add table
Reference in a new issue