def migrate_unit_to_website_group(unit): unit = frappe.bean("Unit", unit) if frappe.conn.get_value("Website Group", cleanup_page_name(unit.doc.name)): # already exists! return unit_name = cleanup_page_name(unit.doc.name) print unit_name # create website group group = frappe.new_bean("Website Group") group.doc.group_name = unit.doc.name group.doc.group_title = unit.doc.unit_title group.doc.group_type = unit.doc.unit_type group.doc.group_description = unit.doc.unit_description group.doc.public_read = unit.doc.public_read group.doc.public_write = unit.doc.public_write group.doc.upvotes = unit.doc.upvotes group.doc.replies = unit.doc.replies if unit.doc.parent_unit: parent_docname = cleanup_page_name(unit.doc.parent_unit) group.doc.parent_website_sitemap = frappe.conn.get_value("Website Sitemap", {"ref_doctype": "Website Group", "docname": parent_docname}) # just making sure if my logic is correct! if not group.doc.parent_website_sitemap: if parent_docname.endswith("discussion"): print "ignoring", unit_name return raise Exception("Website Sitemap Not Found: {}".format(unit.doc.parent_unit)) group.insert() # add website sitemap permissions for d in unit.doclist.get({"doctype": "Unit Profile"}): frappe.bean({ "doctype": "Website Sitemap Permission", "website_sitemap": group.doc.page_name, "profile": d.profile, "read": d.read, "write": d.write, "admin": d.admin }).insert() # move posts frappe.conn.sql("""update `tabPost` set website_group=%s where unit=%s""", (group.doc.name, unit.doc.name)) # WARNING - commit here to avoid too many writes error! frappe.conn.commit()
def get_or_make_page_name(self): page_name = self.get("page_name") if not page_name: page_name = cleanup_page_name(self.get(self.page_title_field)) self.set("page_name", page_name) return page_name
def get_or_make_page_name(self): page_name = self.get("page_name") if not page_name: page_name = cleanup_page_name(self.get(self.page_title_field)) self.set("page_name", page_name) return page_name
def get_or_make_page_name(self): page_name = self.get(self.get_page_name_field()) if not page_name: page_name = cleanup_page_name(self.get_page_title()) if self.is_new(): self.set(self.get_page_name_field(), page_name) return page_name
def set_page_name(self): """set page name based on parent page_name and title""" page_name = cleanup_page_name(self.get_page_title()) if self.is_new(): self.set(self.website_template.page_name_field, page_name) else: frappe.db.set(self, self.website_template.page_name_field, page_name) return page_name
def set_page_name(self): """set page name based on parent page_name and title""" page_name = cleanup_page_name(self.get_page_title()) if self.doc.is_new(): self.doc.fields[self.website_template.page_name_field] = page_name else: frappe.db.set(self.doc, self.website_template.page_name_field, page_name) return page_name
def scrub(self, text): return cleanup_page_name(text).replace("_", "-")
def set_route(self): if not self.route: self.route = "wiki/" + cleanup_page_name(self.title)
def make_page_name(self): return cleanup_page_name( self.get(self.website.page_title_field or "name"))
def make_page_name(self): return cleanup_page_name(self.get(self.page_title_field))
def scrub(self, text): return cleanup_page_name(text).replace('_', '-')
def _get_page_name(self): 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())
def _get_page_name(self): if self.meta.get_field(self.website_template.page_name_field): return self.get(self.website_template.page_name_field) else: return cleanup_page_name(self.get_page_title())
def scrub(self, text): return cleanup_page_name(text).replace('_', '-')
def make_page_name(self): return cleanup_page_name(self.get(self.page_title_field))
def make_page_name(self): return cleanup_page_name(self.get(self.website.page_title_field or "name"))
def _get_page_name(self): if self.meta.get_field(self.website_template.page_name_field): return self.get(self.website_template.page_name_field) else: return cleanup_page_name(self.get_page_title())