def after_insert(self): if self.doc.page_or_generator == "Page": website_route = frappe.db.get_value("Website Route", {"website_template": self.doc.name, "page_or_generator": "Page"}) opts = self.doc.fields.copy() opts.update({"public_read": 1}) if website_route: update_sitemap(website_route, opts) else: add_to_sitemap(opts) else: condition = "" if self.doc.condition_field: condition = " where ifnull(%s, 0)=1" % self.doc.condition_field for name in frappe.db.sql_list("""select name from `tab{doctype}` {condition} order by idx asc, {sort_field} {sort_order}""".format( doctype = self.doc.ref_doctype, condition = condition, sort_field = self.doc.sort_field or "name", sort_order = self.doc.sort_order or "asc" )): bean = frappe.bean(self.doc.ref_doctype, name) # regenerate route bean.run_method("on_update")
def after_insert(self): if self.page_or_generator == "Page": website_route = frappe.db.get_value( "Website Route", {"website_template": self.name, "page_or_generator": "Page"} ) opts = self.as_dict() opts.update({"public_read": 1}) if website_route: update_sitemap(website_route, opts) else: add_to_sitemap(opts) else: condition = "" if self.condition_field: condition = " where ifnull(%s, 0)=1" % self.condition_field for name in frappe.db.sql_list( """select name from `tab{doctype}` {condition} order by idx asc, {sort_field} {sort_order}""".format( doctype=self.ref_doctype, condition=condition, sort_field=getattr(self, "sort_field", "name"), sort_order=getattr(self, "sort_order", "asc"), ) ): doc = frappe.get_doc(self.ref_doctype, name) # regenerate route doc.run_method("on_update")
def add_or_update_sitemap(self): page_name = self.get_page_name() existing_site_map = frappe.db.get_value("Website Route", {"ref_doctype": self.doctype, "docname": self.name}) if self.modified: lastmod = frappe.utils.get_datetime(self.modified).strftime("%Y-%m-%d") else: lastmod = now() opts = frappe._dict({ "page_or_generator": "Generator", "ref_doctype":self.doctype, "idx": self.idx, "docname": self.name, "page_name": page_name, "link_name": self.website_template.name, "lastmod": lastmod, "parent_website_route": self.get_parent_website_route(), "page_title": self.get_page_title(), "public_read": 1 if not self.website_template.no_sidebar else 0 }) self.update_permissions(opts) if existing_site_map: idx = update_sitemap(existing_site_map, opts) else: idx = add_to_sitemap(opts) if idx!=None and self.idx != idx: frappe.db.set(self, "idx", idx)
def add_or_update_sitemap(self): page_name = self.get_page_name() existing_site_map = frappe.db.get_value("Website Route", { "ref_doctype": self.doctype, "docname": self.name }) if self.modified: lastmod = frappe.utils.get_datetime( self.modified).strftime("%Y-%m-%d") else: lastmod = now() opts = frappe._dict({ "page_or_generator": "Generator", "ref_doctype": self.doctype, "idx": self.idx, "docname": self.name, "page_name": page_name, "link_name": self.website_template.name, "lastmod": lastmod, "parent_website_route": self.get_parent_website_route(), "page_title": self.get_page_title(), "public_read": 1 if not self.website_template.no_sidebar else 0 }) self.update_permissions(opts) if existing_site_map: idx = update_sitemap(existing_site_map, opts) else: idx = add_to_sitemap(opts) if idx != None and self.idx != idx: frappe.db.set(self, "idx", idx)