Przeglądaj źródła

[fix] dont cache pages with dynamic server side content

version-14
Rushabh Mehta 8 lat temu
rodzic
commit
0544194ef6
4 zmienionych plików z 37 dodań i 3 usunięć
  1. +3
    -0
      frappe/core/doctype/page/page.py
  2. +5
    -1
      frappe/desk/desk_page.py
  3. +26
    -1
      frappe/email/doctype/email_alert/email_alert.json
  4. +3
    -1
      frappe/public/js/frappe/views/pageview.js

+ 3
- 0
frappe/core/doctype/page/page.py Wyświetl plik

@@ -132,6 +132,9 @@ class Page(Document):
template = frappe.render_template(template, context)
self.script = html_to_js_template(fname, template) + self.script

# flag for not caching this page
self._dynamic_page = True

if frappe.lang != 'en':
from frappe.translate import get_lang_js
self.script += get_lang_js("page", self.name)


+ 5
- 1
frappe/desk/desk_page.py Wyświetl plik

@@ -13,7 +13,11 @@ def get(name):
page = frappe.get_doc('Page', name)
if page.is_permitted():
page.load_assets()
return page
docs = frappe._dict(page.as_dict())
if getattr(page, '_dynamic_page'):
docs['_dynamic_page'] = 1

return docs
else:
frappe.response['403'] = 1
raise frappe.PermissionError, 'No read permission for Page %s' % \


+ 26
- 1
frappe/email/doctype/email_alert/email_alert.json Wyświetl plik

@@ -114,6 +114,31 @@
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "col_break_1",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_list_view": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
@@ -515,7 +540,7 @@
"istable": 0,
"max_attachments": 0,
"menu_index": 0,
"modified": "2016-09-16 06:29:18.577597",
"modified": "2016-09-16 06:44:25.239921",
"modified_by": "Administrator",
"module": "Email",
"name": "Email Alert",


+ 3
- 1
frappe/public/js/frappe/views/pageview.js Wyświetl plik

@@ -27,7 +27,9 @@ frappe.views.pageview = {
method: 'frappe.desk.desk_page.getpage',
args: {'name':name },
callback: function(r) {
localStorage["_page:" + name] = JSON.stringify(r.docs);
if(!r.docs._dynamic_page) {
localStorage["_page:" + name] = JSON.stringify(r.docs);
}
callback();
},
freeze: true,


Ładowanie…
Anuluj
Zapisz