Kaynağa Gözat

Merge pull request #13842 from netchampfaris/safe-render-off

fix: ability to disable safe_render for template pages
version-14
mergify[bot] 3 yıl önce
committed by GitHub
ebeveyn
işleme
3dc9dfe0c7
Veri tabanında bu imza için bilinen anahtar bulunamadı GPG Anahtar Kimliği: 4AEE18F83AFDEB23
4 değiştirilmiş dosya ile 29 ekleme ve 1 silme
  1. +10
    -0
      frappe/tests/test_website.py
  2. +6
    -1
      frappe/website/page_renderers/template_page.py
  3. +7
    -0
      frappe/www/_test/_test_safe_render_off.html
  4. +6
    -0
      frappe/www/_test/_test_safe_render_on.html

+ 10
- 0
frappe/tests/test_website.py Dosyayı Görüntüle

@@ -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


+ 6
- 1
frappe/website/page_renderers/template_page.py Dosyayı Görüntüle

@@ -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
- 0
frappe/www/_test/_test_safe_render_off.html Dosyayı Görüntüle

@@ -0,0 +1,7 @@
---
title: Safe Render Off
safe_render: false
---

<div>{{ title }}</div>
<div>test.__test</div>

+ 6
- 0
frappe/www/_test/_test_safe_render_on.html Dosyayı Görüntüle

@@ -0,0 +1,6 @@
---
title: Safe Render On
---

<div>{{ title }}</div>
<div>test.__test</div>

Yükleniyor…
İptal
Kaydet