コード例 #1
0
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()
コード例 #2
0
ファイル: website_generator.py プロジェクト: BIANBS/frappe
	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
コード例 #3
0
ファイル: website_generator.py プロジェクト: saguas/frappe
    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
コード例 #4
0
    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
コード例 #5
0
	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
コード例 #6
0
ファイル: website_generator.py プロジェクト: fogueri/frappe
    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
コード例 #7
0
 def scrub(self, text):
     return cleanup_page_name(text).replace("_", "-")
コード例 #8
0
ファイル: wiki_page.py プロジェクト: hybrowlabs/wiki
 def set_route(self):
     if not self.route:
         self.route = "wiki/" + cleanup_page_name(self.title)
コード例 #9
0
 def make_page_name(self):
     return cleanup_page_name(
         self.get(self.website.page_title_field or "name"))
コード例 #10
0
 def make_page_name(self):
     return cleanup_page_name(self.get(self.page_title_field))
コード例 #11
0
ファイル: website_generator.py プロジェクト: ESS-LLP/frappe
	def scrub(self, text):
		return cleanup_page_name(text).replace('_', '-')
コード例 #12
0
ファイル: website_generator.py プロジェクト: fogueri/frappe
 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())
コード例 #13
0
	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())
コード例 #14
0
 def scrub(self, text):
     return cleanup_page_name(text).replace('_', '-')
コード例 #15
0
	def make_page_name(self):
		return cleanup_page_name(self.get(self.page_title_field))
コード例 #16
0
	def make_page_name(self):
		return cleanup_page_name(self.get(self.website.page_title_field or "name"))
コード例 #17
0
 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())