From 17928f2d280ae09f8cec197647e606eb583e253e Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Tue, 11 May 2021 15:30:55 +0530 Subject: [PATCH] fix: Clear web page cache after web template is updated --- .../website/doctype/web_template/web_template.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/frappe/website/doctype/web_template/web_template.py b/frappe/website/doctype/web_template/web_template.py index 3c61807099..2fd5bfa179 100644 --- a/frappe/website/doctype/web_template/web_template.py +++ b/frappe/website/doctype/web_template/web_template.py @@ -9,6 +9,7 @@ from shutil import rmtree import frappe from frappe.model.document import Document +from frappe.website.render import clear_cache from frappe import _ from frappe.modules.export_file import ( write_document_file, @@ -37,6 +38,19 @@ class WebTemplate(Document): if was_standard and not self.standard: self.import_from_files() + def on_update(self): + """Clear cache for all Web Pages in which this template is used""" + routes = frappe.db.get_all( + "Web Page", + filters=[ + ["Web Page Block", "web_template", "=", self.name], + ["Web Page", "published", "=", 1], + ], + pluck="route", + ) + for route in routes: + clear_cache(route) + def on_trash(self): if frappe.conf.developer_mode and self.standard: # delete template html and json files