diff --git a/frappe/website/doctype/web_page/web_page.py b/frappe/website/doctype/web_page/web_page.py index 23da6708c3..65729a7486 100644 --- a/frappe/website/doctype/web_page/web_page.py +++ b/frappe/website/doctype/web_page/web_page.py @@ -7,11 +7,7 @@ from frappe.website.website_generator import WebsiteGenerator from frappe.website.utils import cleanup_page_name from frappe.utils import cint -class DocType(WebsiteGenerator): - def autoname(self): - self.doc.name = cleanup_page_name(self.doc.title) - self.doc.append_number_if_name_exists() - +class DocType(WebsiteGenerator): def validate(self): for d in self.doclist.get({"parentfield": "toc"}): if d.web_page == self.doc.name: diff --git a/frappe/website/doctype/website_route/website_route.py b/frappe/website/doctype/website_route/website_route.py index abad0b42ee..71d5d5385c 100644 --- a/frappe/website/doctype/website_route/website_route.py +++ b/frappe/website/doctype/website_route/website_route.py @@ -55,7 +55,7 @@ class DocType(DocTypeNestedSet): def set_idx(self): if self.doc.parent_website_route: - if not self.doc.idx == None: + if self.doc.idx == None: self.set_idx_as_last() else: self.validate_previous_idx_exists() diff --git a/frappe/website/website_generator.py b/frappe/website/website_generator.py index 742c77a7b1..76d1eea7fe 100644 --- a/frappe/website/website_generator.py +++ b/frappe/website/website_generator.py @@ -13,7 +13,7 @@ def call_website_generator(bean, method, *args, **kwargs): class WebsiteGenerator(DocListController): def autoname(self): - self.doc.name = cleanup_page_name(self.get_page_title()) + self.doc.name = self.get_page_name() self.doc.append_number_if_name_exists() def set_page_name(self): @@ -21,9 +21,9 @@ class WebsiteGenerator(DocListController): page_name = cleanup_page_name(self.get_page_title()) if self.doc.is_new(): - self.doc.fields[self._website_config.page_name_field] = page_name + self.doc.fields[self.website_template.page_name_field] = page_name else: - frappe.db.set(self.doc, self._website_config.page_name_field, page_name) + frappe.db.set(self.doc, self.website_template.page_name_field, page_name) return page_name @@ -31,8 +31,9 @@ class WebsiteGenerator(DocListController): return self.doc.parent_website_route def setup_generator(self): - self._website_config = frappe.db.get_values("Website Template", - {"ref_doctype": self.doc.doctype}, "*")[0] + if not hasattr(self, "website_template"): + self.website_template = frappe.db.get_values("Website Template", + {"ref_doctype": self.doc.doctype}, "*")[0] def on_update(self): self.update_sitemap() @@ -53,8 +54,8 @@ class WebsiteGenerator(DocListController): def update_sitemap(self): self.setup_generator() - if self._website_config.condition_field and \ - not self.doc.fields.get(self._website_config.condition_field): + if self.website_template.condition_field and \ + not self.doc.fields.get(self.website_template.condition_field): # condition field failed, remove and return! remove_sitemap(ref_doctype=self.doc.doctype, docname=self.doc.name) return @@ -73,11 +74,11 @@ class WebsiteGenerator(DocListController): "idx": self.doc.idx, "docname": self.doc.name, "page_name": page_name, - "link_name": self._website_config.name, + "link_name": self.website_template.name, "lastmod": frappe.utils.get_datetime(self.doc.modified).strftime("%Y-%m-%d"), "parent_website_route": self.get_parent_website_route(), "page_title": self.get_page_title(), - "public_read": 1 if not self._website_config.no_sidebar else 0 + "public_read": 1 if not self.website_template.no_sidebar else 0 }) self.update_permissions(opts) @@ -105,8 +106,9 @@ class WebsiteGenerator(DocListController): return self._get_page_name() def _get_page_name(self): - if self.meta.has_field(self._website_config.page_name_field): - return self.doc.fields.get(self._website_config.page_name_field) + self.setup_generator() + if self.meta.has_field(self.website_template.page_name_field): + return self.doc.fields.get(self.website_template.page_name_field) else: return cleanup_page_name(self.get_page_title())