diff --git a/frappe/__init__.py b/frappe/__init__.py index ed6b10cef4..850f571a1c 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -616,8 +616,8 @@ def set_filters(jenv): def get_template(path): return get_jenv().get_template(path) -def get_website_sitemap(doctype, name): - return conn.get_value("Website Sitemap", {"ref_doctype": doctype, "docname": name}) +def get_website_route(doctype, name): + return conn.get_value("Website Route", {"ref_doctype": doctype, "docname": name}) def add_version(doclist): bean({ diff --git a/frappe/cli.py b/frappe/cli.py index b35be00e2c..cbe4a2a4c1 100755 --- a/frappe/cli.py +++ b/frappe/cli.py @@ -190,7 +190,7 @@ def setup_utilities(parser): parser.add_argument("--clear_web", default=False, action="store_true", help="Clear website cache") parser.add_argument("--build_sitemap", default=False, action="store_true", - help="Build Website Sitemap") + help="Build Website Route") parser.add_argument("--sync_statics", default=False, action="store_true", help="Sync files from templates/statics to Web Pages") parser.add_argument("--clear_cache", default=False, action="store_true", diff --git a/frappe/db.py b/frappe/db.py index 672e64ea3a..04aa7595b8 100644 --- a/frappe/db.py +++ b/frappe/db.py @@ -395,16 +395,9 @@ class Database: if field!="modified": self.set_value(dt, dn, "modified", modified or now()) - - def set_in_doc(self, doc, field, val): - self.set(doc, field, val) - + def set(self, doc, field, val): - from frappe.utils import now - doc.modified = now() - doc.modified_by = frappe.session["user"] - self.set_value(doc.doctype, doc.name, field, val, doc.modified, doc.modified_by) - doc.fields[field] = val + doc.set(field, val) def touch(self, doctype, docname): from frappe.utils import now diff --git a/frappe/hooks.txt b/frappe/hooks.txt index c756d9d71d..409dadaedd 100644 --- a/frappe/hooks.txt +++ b/frappe/hooks.txt @@ -42,4 +42,4 @@ has_permission:ToDo = frappe.core.doctype.todo.todo.has_permission # bean bean_event:User Vote:after_insert = frappe.templates.generators.website_group.clear_cache_on_bean_event -bean_event:Website Sitemap Permission:on_update = frappe.templates.generators.website_group.clear_cache_on_bean_event \ No newline at end of file +bean_event:Website Route Permission:on_update = frappe.templates.generators.website_group.clear_cache_on_bean_event \ No newline at end of file diff --git a/frappe/installer.py b/frappe/installer.py index a4f36c4b16..394eee3c5f 100755 --- a/frappe/installer.py +++ b/frappe/installer.py @@ -120,8 +120,8 @@ def add_to_installed_apps(app_name, rebuild_sitemap=True): frappe.conn.commit() if rebuild_sitemap: - from frappe.website.doctype.website_sitemap_config.website_sitemap_config import rebuild_website_sitemap_config - rebuild_website_sitemap_config() + from frappe.website.doctype.website_template.website_template import rebuild_website_template + rebuild_website_template() frappe.clear_cache() diff --git a/frappe/model/doc.py b/frappe/model/doc.py index 3eba79afa0..719a4c1b19 100755 --- a/frappe/model/doc.py +++ b/frappe/model/doc.py @@ -10,7 +10,6 @@ _toc = ["frappe.model.doc.Document"] import frappe import frappe.model.meta - from frappe.utils import * class Document: @@ -304,7 +303,13 @@ class Document: if not self.naming_series: # pick default naming series self.naming_series = get_default_naming_series(self.doctype) - + + def set(self, key, value): + self.modified = now() + self.modified_by = frappe.session["user"] + frappe.conn.set_value(self.doctype, self.name, key, value, self.modified, self.modified_by) + self.fields[key] = value + def _insert(self, make_autoname=True, keep_timestamps=False): # set name if make_autoname: diff --git a/frappe/model/rename_doc.py b/frappe/model/rename_doc.py index e676824d64..0c7cf829e2 100644 --- a/frappe/model/rename_doc.py +++ b/frappe/model/rename_doc.py @@ -32,7 +32,7 @@ def rename_doc(doctype, old, new, force=False, merge=False, ignore_permissions=F # update link fields' values link_fields = get_link_fields(doctype) - update_link_field_values(link_fields, old, new) + update_link_field_values(link_fields, old, new, doctype) if doctype=='DocType': rename_doctype(doctype, old, new, force) @@ -99,7 +99,7 @@ def rename_doctype(doctype, old, new, force=False): # change options where select options are hardcoded i.e. listed select_fields = get_select_fields(old, new) - update_link_field_values(select_fields, old, new) + update_link_field_values(select_fields, old, new, doctype) update_select_field_values(old, new) # change parenttype for fieldtype Table @@ -118,7 +118,7 @@ def update_child_docs(old, new, doclist): frappe.conn.sql("update `tab%s` set parent=%s where parent=%s" \ % (child, '%s', '%s'), (new, old)) -def update_link_field_values(link_fields, old, new): +def update_link_field_values(link_fields, old, new, doctype): update_list = [] # update values @@ -133,13 +133,14 @@ def update_link_field_values(link_fields, old, new): where doctype=%s and field=%s and value=%s""", (new, field['parent'], field['fieldname'], old)) else: - frappe.conn.sql("""\ - update `tab%s` set `%s`=%s - where `%s`=%s""" \ - % (field['parent'], field['fieldname'], '%s', - field['fieldname'], '%s'), - (new, old)) - + if doctype!='DocType' and field['parent']!=new: + frappe.conn.sql("""\ + update `tab%s` set `%s`=%s + where `%s`=%s""" \ + % (field['parent'], field['fieldname'], '%s', + field['fieldname'], '%s'), + (new, old), debug=1) + def get_link_fields(doctype): # get link fields from tabDocField link_fields = frappe.conn.sql("""\ @@ -181,7 +182,7 @@ def get_link_fields(doctype): % ('%s', doctype), (doctype,), as_dict=1) link_fields += property_setter_link_fields - + return link_fields def update_parent_of_fieldtype_table(old, new): diff --git a/frappe/patches.txt b/frappe/patches.txt index 71deb3ab6e..5d064b67ed 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -14,4 +14,5 @@ frappe.patches.4_0.set_todo_checked_as_closed frappe.patches.4_0.website_sitemap_hierarchy frappe.patches.4_0.webnotes_to_frappe execute:frappe.reset_perms("Module Def") -frappe.patches.4_0.set_website_sitemap_idx \ No newline at end of file +frappe.patches.4_0.rename_sitemap_to_route +frappe.patches.4_0.set_website_route_idx \ No newline at end of file diff --git a/frappe/patches/4_0/remove_index_sitemap.py b/frappe/patches/4_0/remove_index_sitemap.py index ec6b79f805..e1ea7831da 100644 --- a/frappe/patches/4_0/remove_index_sitemap.py +++ b/frappe/patches/4_0/remove_index_sitemap.py @@ -1,6 +1,6 @@ import frappe def execute(): - if frappe.conn.exists("Website Sitemap", "index"): - frappe.delete_doc("Website Sitemap", "index", ignore_permissions=True) + if frappe.conn.exists("Website Route", "index"): + frappe.delete_doc("Website Route", "index", ignore_permissions=True) \ No newline at end of file diff --git a/frappe/patches/4_0/rename_sitemap_to_route.py b/frappe/patches/4_0/rename_sitemap_to_route.py new file mode 100644 index 0000000000..13c1258c64 --- /dev/null +++ b/frappe/patches/4_0/rename_sitemap_to_route.py @@ -0,0 +1,23 @@ +import frappe + +from frappe.model import rename_field + +def execute(): + tables = frappe.conn.sql_list("show tables") + if "tabWebsite Route" not in tables: + frappe.rename_doc("DocType", "Website Sitemap", "Website Route", force=True) + + if "tabWebsite Template" not in tables: + frappe.rename_doc("DocType", "Website Sitemap Config", "Website Template", force=True) + + if "tabWebsite Route Permission" not in tables: + frappe.rename_doc("DocType", "Website Sitemap Permission", "Website Route Permission", force=True) + + for d in ("blog_category", "blog_post", "web_page", "website_route", "website_group"): + frappe.reload_doc("website", "doctype", d) + + for d in ("Blog Category", "Blog Post", "Web Page", "Website Route", "Website Group"): + rename_field(d, "parent_website_sitemap", "parent_website_route") + + rename_field("Website Route", "website_sitemap_config", "website_template") + rename_field("Website Route Permission", "website_sitemap", "website_route") diff --git a/frappe/patches/4_0/set_website_sitemap_idx.py b/frappe/patches/4_0/set_website_route_idx.py similarity index 54% rename from frappe/patches/4_0/set_website_sitemap_idx.py rename to frappe/patches/4_0/set_website_route_idx.py index a46cd4abce..0ea6a3387c 100644 --- a/frappe/patches/4_0/set_website_sitemap_idx.py +++ b/frappe/patches/4_0/set_website_route_idx.py @@ -1,20 +1,20 @@ import frappe def execute(): - from frappe.website.doctype.website_sitemap_config.website_sitemap_config import \ + from frappe.website.doctype.website_template.website_template import \ get_pages_and_generators, get_template_controller for app in frappe.get_installed_apps(): pages, generators = get_pages_and_generators(app) for g in generators: - doctype = frappe.get_attr(get_template_controller(app, g[2], g[3]) + ".doctype") + doctype = frappe.get_attr(get_template_controller(app, g["path"], g["fname"]) + ".doctype") module = frappe.conn.get_value("DocType", doctype, "module") frappe.reload_doc(module, "doctype", doctype) - frappe.conn.sql("""update `tabWebsite Sitemap` set idx=null""") + frappe.conn.sql("""update `tabWebsite Route` set idx=null""") for doctype in ["Blog Category", "Blog Post", "Web Page", "Website Group"]: frappe.conn.sql("""update `tab{}` set idx=null""".format(doctype)) - from frappe.website.doctype.website_sitemap_config.website_sitemap_config import rebuild_website_sitemap_config - rebuild_website_sitemap_config() \ No newline at end of file + from frappe.website.doctype.website_template.website_template import rebuild_website_template + rebuild_website_template() \ No newline at end of file diff --git a/frappe/patches/4_0/website_sitemap_hierarchy.py b/frappe/patches/4_0/website_sitemap_hierarchy.py index e1ff2ea93d..e6ee416b66 100644 --- a/frappe/patches/4_0/website_sitemap_hierarchy.py +++ b/frappe/patches/4_0/website_sitemap_hierarchy.py @@ -6,17 +6,17 @@ from __future__ import unicode_literals import frappe def execute(): - frappe.reload_doc("website", "doctype", "website_sitemap") - frappe.reload_doc("website", "doctype", "website_sitemap_permission") + frappe.reload_doc("website", "doctype", "website_route") + frappe.reload_doc("website", "doctype", "website_route_permission") frappe.reload_doc("website", "doctype", "website_group") frappe.reload_doc("website", "doctype", "post") frappe.reload_doc("website", "doctype", "user_vote") - frappe.conn.sql("""update `tabWebsite Sitemap` ws set ref_doctype=(select wsc.ref_doctype - from `tabWebsite Sitemap Config` wsc where wsc.name=ws.website_sitemap_config) + frappe.conn.sql("""update `tabWebsite Route` ws set ref_doctype=(select wsc.ref_doctype + from `tabWebsite Template` wsc where wsc.name=ws.website_template) where ifnull(page_or_generator, '')!='Page'""") home_page = frappe.conn.get_value("Website Settings", "Website Settings", "home_page") - home_page = frappe.conn.get_value("Website Sitemap", {"docname": home_page}) or home_page + home_page = frappe.conn.get_value("Website Route", {"docname": home_page}) or home_page frappe.conn.set_value("Website Settings", "Website Settings", "home_page", home_page) diff --git a/frappe/templates/generators/blog_post.py b/frappe/templates/generators/blog_post.py index 975dff47da..7e137c666e 100644 --- a/frappe/templates/generators/blog_post.py +++ b/frappe/templates/generators/blog_post.py @@ -53,7 +53,7 @@ def get_blog_list(start=0, by=None, category=None): t2.full_name, t2.avatar, t1.blogger, (select count(name) from `tabComment` where comment_doctype='Blog Post' and comment_docname=t1.name) as comments - from `tabBlog Post` t1, `tabBlogger` t2, `tabWebsite Sitemap` t3 + from `tabBlog Post` t1, `tabBlogger` t2, `tabWebsite Route` t3 where ifnull(t1.published,0)=1 and t1.blogger = t2.name and t3.docname = t1.name diff --git a/frappe/templates/generators/website_group.py b/frappe/templates/generators/website_group.py index 5538425597..b04560f6a2 100644 --- a/frappe/templates/generators/website_group.py +++ b/frappe/templates/generators/website_group.py @@ -75,8 +75,8 @@ def build_view_context(context): elif context.view.name == "settings": context.profiles = frappe.conn.sql("""select p.*, wsp.`read`, wsp.`write`, wsp.`admin` - from `tabProfile` p, `tabWebsite Sitemap Permission` wsp - where wsp.website_sitemap=%s and wsp.profile=p.name""", context.pathname, as_dict=True) + from `tabProfile` p, `tabWebsite Route Permission` wsp + where wsp.website_route=%s and wsp.profile=p.name""", context.pathname, as_dict=True) elif context.view.name == "post": context.update(get_post_context(context)) @@ -119,7 +119,7 @@ def has_access(access, view): def clear_cache(path=None, website_group=None): from frappe.templates.website_group.post import clear_post_cache if path: - website_groups = [frappe.conn.get_value("Website Sitemap", path, "docname")] + website_groups = [frappe.conn.get_value("Website Route", path, "docname")] elif website_group: website_groups = [website_group] else: @@ -137,10 +137,10 @@ def clear_event_cache(): clear_unit_views(website_group=group) def clear_cache_on_bean_event(bean, method, *args, **kwargs): - clear_cache(path=bean.doc.website_sitemap, website_group=bean.doc.website_group) + clear_cache(path=bean.doc.website_route, website_group=bean.doc.website_group) def get_pathname(group): - return frappe.conn.get_value("Website Sitemap", {"ref_doctype": "Website Group", + return frappe.conn.get_value("Website Route", {"ref_doctype": "Website Group", "docname": group}) views = { diff --git a/frappe/templates/pages/sitemap.py b/frappe/templates/pages/sitemap.py index f6a0efab31..f9014d6cba 100644 --- a/frappe/templates/pages/sitemap.py +++ b/frappe/templates/pages/sitemap.py @@ -15,11 +15,11 @@ def get_context(context): """generate the sitemap XML""" host = get_request_site_address() links = [] - for l in frappe.conn.sql("""select `tabWebsite Sitemap`.page_name, `tabWebsite Sitemap`.lastmod - from `tabWebsite Sitemap`, `tabWebsite Sitemap Config` + for l in frappe.conn.sql("""select `tabWebsite Route`.page_name, `tabWebsite Route`.lastmod + from `tabWebsite Route`, `tabWebsite Template` where - `tabWebsite Sitemap`.website_sitemap_config = `tabWebsite Sitemap Config`.name - and ifnull(`tabWebsite Sitemap Config`.no_sitemap, 0)=0""", + `tabWebsite Route`.website_template = `tabWebsite Template`.name + and ifnull(`tabWebsite Template`.no_sitemap, 0)=0""", as_dict=True): links.append({ "loc": urllib.basejoin(host, urllib.quote(l.page_name.encode("utf-8"))), diff --git a/frappe/templates/website_group/forum.py b/frappe/templates/website_group/forum.py index b00d0fe0f1..601b0de1f0 100644 --- a/frappe/templates/website_group/forum.py +++ b/frappe/templates/website_group/forum.py @@ -12,7 +12,7 @@ def get_post_list_html(group, view, limit_start=0, limit_length=20): # verify permission for paging if frappe.local.form_dict.cmd == "get_post_list_html": - pathname = frappe.conn.get_value("Website Sitemap", + pathname = frappe.conn.get_value("Website Route", {"ref_doctype": "Website Group", "docname": group}) access = get_access(pathname) diff --git a/frappe/templates/website_group/settings.py b/frappe/templates/website_group/settings.py index 1679e2b8b7..dc3dce7b1b 100644 --- a/frappe/templates/website_group/settings.py +++ b/frappe/templates/website_group/settings.py @@ -19,8 +19,8 @@ def suggest_user(term, group): where (pr.first_name like %(term)s or pr.last_name like %(term)s) and pr.user_type = "Website User" and pr.user_image is not null and pr.enabled=1 - and not exists(select wsp.name from `tabWebsite Sitemap Permission` wsp - where wsp.website_sitemap=%(group)s and wsp.profile=pr.name)""", + and not exists(select wsp.name from `tabWebsite Route Permission` wsp + where wsp.website_route=%(group)s and wsp.profile=pr.name)""", {"term": "%{}%".format(term), "group": pathname}, as_dict=True) template = frappe.get_template("templates/includes/profile_display.html") @@ -37,8 +37,8 @@ def add_sitemap_permission(group, profile): raise frappe.PermissionError permission = frappe.bean({ - "doctype": "Website Sitemap Permission", - "website_sitemap": pathname, + "doctype": "Website Route Permission", + "website_route": pathname, "profile": profile, "read": 1 }) @@ -58,13 +58,13 @@ def update_permission(group, profile, perm, value): if not get_access(pathname).get("admin"): raise frappe.PermissionError - permission = frappe.bean("Website Sitemap Permission", {"website_sitemap": pathname, "profile": profile}) + permission = frappe.bean("Website Route Permission", {"website_route": pathname, "profile": profile}) permission.doc.fields[perm] = int(value) permission.save(ignore_permissions=True) # send email if perm=="admin" and int(value): - group_title = frappe.conn.get_value("Website Sitemap", pathname, "page_title") + group_title = frappe.conn.get_value("Website Route", pathname, "page_title") subject = "You have been made Administrator of Group " + group_title @@ -88,14 +88,14 @@ def add_website_group(group, new_group, public_read, public_write, group_type="F if not get_access(get_pathname(group)).get("admin"): raise frappe.PermissionError - parent_website_sitemap = frappe.conn.get_value("Website Sitemap", + parent_website_route = frappe.conn.get_value("Website Route", {"ref_doctype": "Website Group", "docname": group}) frappe.bean({ "doctype": "Website Group", "group_name": group + "-" + new_group, "group_title": new_group, - "parent_website_sitemap": parent_website_sitemap, + "parent_website_route": parent_website_route, "group_type": group_type, "public_read": int(public_read), "public_write": int(public_write) diff --git a/frappe/translations/ar.csv b/frappe/translations/ar.csv index d1b0998df4..3d51f7a2a8 100644 --- a/frappe/translations/ar.csv +++ b/frappe/translations/ar.csv @@ -869,8 +869,8 @@ Website,الموقع Website Overall Settings,إعدادات الموقع بشكل عام Website Script,الموقع سكربت Website Settings,موقع إعدادات -Website Sitemap,خريطة الموقع الموقع -Website Sitemap Config,الموقع خريطة الموقع التكوين +Website Route,خريطة الموقع الموقع +Website Template,الموقع خريطة الموقع التكوين Website Slideshow,موقع عرض الشرائح Website Slideshow Item,موقع السلعة عرض شرائح Website User,موقع العضو diff --git a/frappe/translations/de.csv b/frappe/translations/de.csv index df2e151840..31c9e825f1 100644 --- a/frappe/translations/de.csv +++ b/frappe/translations/de.csv @@ -845,8 +845,8 @@ Website,Webseite Website Overall Settings,Website Overall Einstellungen Website Script,Website Script Website Settings,Website-Einstellungen -Website Sitemap,Website Sitemap -Website Sitemap Config,Website Sitemap Config +Website Route,Website Route +Website Template,Website Template Website Slideshow,Website Slideshow Website Slideshow Item,Website Slideshow Artikel Website User,Webseite User diff --git a/frappe/translations/el.csv b/frappe/translations/el.csv index 376dca0922..cfb5d397de 100644 --- a/frappe/translations/el.csv +++ b/frappe/translations/el.csv @@ -869,8 +869,8 @@ Website,Δικτυακός τόπος Website Overall Settings,Website Συνολικά Ρυθμίσεις Website Script,Script Website Website Settings,Ρυθμίσεις Website -Website Sitemap,Website Sitemap -Website Sitemap Config,Website Sitemap Config +Website Route,Website Route +Website Template,Website Template Website Slideshow,Παρουσίαση Ιστοσελίδας Website Slideshow Item,Website Στοιχείο Παρουσίαση Website User,Χρήστης Website diff --git a/frappe/translations/es.csv b/frappe/translations/es.csv index 86e74a646a..37b561e310 100644 --- a/frappe/translations/es.csv +++ b/frappe/translations/es.csv @@ -869,8 +869,8 @@ Website,Sitio web Website Overall Settings,Sitio web Configuración general Website Script,Sitio Web de secuencias de comandos Website Settings,Ajustes del Sitio Web -Website Sitemap,mapa del sitio Web -Website Sitemap Config,Mapa del sitio Web Config +Website Route,mapa del sitio Web +Website Template,Mapa del sitio Web Config Website Slideshow,Sitio Web Presentación Website Slideshow Item,Sitio Web Presentación del artículo Website User,Sitio web del usuario diff --git a/frappe/translations/fr.csv b/frappe/translations/fr.csv index c6dd465f57..ad5bf32b8b 100644 --- a/frappe/translations/fr.csv +++ b/frappe/translations/fr.csv @@ -869,8 +869,8 @@ Website,Site Web Website Overall Settings,Réglages généraux Site web Website Script,Script site web Website Settings,Réglages Site web -Website Sitemap,Plan du site -Website Sitemap Config,Plan du site Config +Website Route,Plan du site +Website Template,Plan du site Config Website Slideshow,Diaporama site web Website Slideshow Item,Point Diaporama site web Website User,Utilisateur diff --git a/frappe/translations/hi.csv b/frappe/translations/hi.csv index 32f1a57b9d..ea87a6ee8a 100644 --- a/frappe/translations/hi.csv +++ b/frappe/translations/hi.csv @@ -869,8 +869,8 @@ Website,वेबसाइट Website Overall Settings,वेबसाइट कुल मिलाकर सेटिंग्स Website Script,वेबसाइट स्क्रिप्ट Website Settings,वेबसाइट सेटिंग -Website Sitemap,वेबसाइट साइटमैप -Website Sitemap Config,वेबसाइट साइटमैप विन्यास +Website Route,वेबसाइट साइटमैप +Website Template,वेबसाइट साइटमैप विन्यास Website Slideshow,वेबसाइट स्लाइड शो Website Slideshow Item,वेबसाइट स्लाइड शो आइटम Website User,वेबसाइट प्रयोक्ता diff --git a/frappe/translations/hr.csv b/frappe/translations/hr.csv index 86eba1a626..a8a8edefa2 100644 --- a/frappe/translations/hr.csv +++ b/frappe/translations/hr.csv @@ -869,8 +869,8 @@ Website,Website Website Overall Settings,Website Ukupni Postavke Website Script,Web Skripta Website Settings,Website Postavke -Website Sitemap,web stranica Mapa -Website Sitemap Config,Web stranica Mapa Config +Website Route,web stranica Mapa +Website Template,Web stranica Mapa Config Website Slideshow,Web Slideshow Website Slideshow Item,Web Slideshow artikla Website User,Web User diff --git a/frappe/translations/it.csv b/frappe/translations/it.csv index cbc7572227..da70959505 100644 --- a/frappe/translations/it.csv +++ b/frappe/translations/it.csv @@ -869,8 +869,8 @@ Website,Sito Website Overall Settings,Sito Impostazioni generali Website Script,Script Sito Website Settings,Impostazioni Sito -Website Sitemap,Sito Sitemap -Website Sitemap Config,Sito Sitemap Config +Website Route,Sito Sitemap +Website Template,Sito Sitemap Config Website Slideshow,Presentazione sito web Website Slideshow Item,Sito Slideshow articolo Website User,Website Utente diff --git a/frappe/translations/nl.csv b/frappe/translations/nl.csv index 106331af17..744bfe8795 100644 --- a/frappe/translations/nl.csv +++ b/frappe/translations/nl.csv @@ -869,8 +869,8 @@ Website,Website Website Overall Settings,Website Algemene Instellingen Website Script,Website Script Website Settings,Website-instellingen -Website Sitemap,website Sitemap -Website Sitemap Config,Website Sitemap Config +Website Route,website Sitemap +Website Template,Website Template Website Slideshow,Website Diashow Website Slideshow Item,Website Diashow Item Website User,Website Gebruiker diff --git a/frappe/translations/pt-BR.csv b/frappe/translations/pt-BR.csv index cb0c91dafc..aaab865697 100644 --- a/frappe/translations/pt-BR.csv +++ b/frappe/translations/pt-BR.csv @@ -869,8 +869,8 @@ Website,Site Website Overall Settings,Configurações gerais do site Website Script,Script do site Website Settings,Configurações do site -Website Sitemap,site Mapa do Site -Website Sitemap Config,Site Mapa do Site Configuração +Website Route,site Mapa do Site +Website Template,Site Mapa do Site Configuração Website Slideshow,Slideshow do site Website Slideshow Item,Item do Slideshow do site Website User,Site do Usuário diff --git a/frappe/translations/pt.csv b/frappe/translations/pt.csv index c0f3abbba4..308f82f61e 100644 --- a/frappe/translations/pt.csv +++ b/frappe/translations/pt.csv @@ -869,8 +869,8 @@ Website,Site Website Overall Settings,Configurações do site em geral Website Script,Script site Website Settings,Configurações do site -Website Sitemap,website Sitemap -Website Sitemap Config,Website Sitemap Config +Website Route,website Sitemap +Website Template,Website Template Website Slideshow,Slideshow site Website Slideshow Item,Item Slideshow site Website User,Site do Usuário diff --git a/frappe/translations/sr.csv b/frappe/translations/sr.csv index 2eddfcb457..a9edc560d2 100644 --- a/frappe/translations/sr.csv +++ b/frappe/translations/sr.csv @@ -869,8 +869,8 @@ Website,Вебсајт Website Overall Settings,Сајт Овералл Подешавања Website Script,Сајт скрипте Website Settings,Сајт Подешавања -Website Sitemap,Сајт Мапа -Website Sitemap Config,Сајт Мапа Цонфиг +Website Route,Сајт Мапа +Website Template,Сајт Мапа Цонфиг Website Slideshow,Сајт Слидесхов Website Slideshow Item,Сајт Слидесхов шифра Website User,Сајт корисника diff --git a/frappe/translations/ta.csv b/frappe/translations/ta.csv index 5eadb26067..523d6c1cbd 100644 --- a/frappe/translations/ta.csv +++ b/frappe/translations/ta.csv @@ -869,8 +869,8 @@ Website,இணையதளம் Website Overall Settings,இணைய மொத்தத்தில் அமைப்புகள் Website Script,இணைய உரை Website Settings,இணைய அமைப்புகள் -Website Sitemap,இணையத்தளம் தள வரைபடம் -Website Sitemap Config,இணையத்தளம் தள வரைபடம் கட்டமைப்பு +Website Route,இணையத்தளம் தள வரைபடம் +Website Template,இணையத்தளம் தள வரைபடம் கட்டமைப்பு Website Slideshow,இணைய ப Website Slideshow Item,இணைய ப பொருள் Website User,வலைத்தளம் பயனர் diff --git a/frappe/translations/th.csv b/frappe/translations/th.csv index 4261ca1080..b1d94a28ab 100644 --- a/frappe/translations/th.csv +++ b/frappe/translations/th.csv @@ -869,8 +869,8 @@ Website,เว็บไซต์ Website Overall Settings,การตั้งค่าโดยรวมของเว็บไซต์ Website Script,สคริปต์เว็บไซต์ Website Settings,การตั้งค่าเว็บไซต์ -Website Sitemap,Sitemap เว็บไซต์ -Website Sitemap Config,เว็บไซต์ แผนผังเว็บไซต์ Config +Website Route,Sitemap เว็บไซต์ +Website Template,เว็บไซต์ แผนผังเว็บไซต์ Config Website Slideshow,สไลด์โชว์เว็บไซต์ Website Slideshow Item,รายการสไลด์โชว์เว็บไซต์ Website User,ผู้ใช้งานเว็บไซต์ diff --git a/frappe/translations/zh-cn.csv b/frappe/translations/zh-cn.csv index 75500863bb..c24f7c6422 100644 --- a/frappe/translations/zh-cn.csv +++ b/frappe/translations/zh-cn.csv @@ -869,8 +869,8 @@ Website,网站 Website Overall Settings,网站整体设置 Website Script,网站脚本 Website Settings,网站设置 -Website Sitemap,网站地图 -Website Sitemap Config,网站地图配置 +Website Route,网站地图 +Website Template,网站地图配置 Website Slideshow,网站连续播放 Website Slideshow Item,网站幻灯片项目 Website User,网站用户 diff --git a/frappe/translations/zh-tw.csv b/frappe/translations/zh-tw.csv index 0b3106055a..0e0bbac61d 100644 --- a/frappe/translations/zh-tw.csv +++ b/frappe/translations/zh-tw.csv @@ -869,8 +869,8 @@ Website,網站 Website Overall Settings,網站整體設置 Website Script,網站腳本 Website Settings,網站設置 -Website Sitemap,網站地圖 -Website Sitemap Config,網站地圖配置 +Website Route,網站地圖 +Website Template,網站地圖配置 Website Slideshow,網站連續播放 Website Slideshow Item,網站幻燈片項目 Website User,網站用戶 diff --git a/frappe/website/__init__.py b/frappe/website/__init__.py index fb6f7fd79b..1f5a3ee2a8 100644 --- a/frappe/website/__init__.py +++ b/frappe/website/__init__.py @@ -3,5 +3,5 @@ from __future__ import unicode_literals -from frappe.website.doctype.website_sitemap_config.website_sitemap_config \ - import rebuild_website_sitemap_config as rebuild_config +from frappe.website.doctype.website_template.website_template \ + import rebuild_website_template as rebuild_config diff --git a/frappe/website/context.py b/frappe/website/context.py index 07ade7c960..d1eb363704 100644 --- a/frappe/website/context.py +++ b/frappe/website/context.py @@ -63,5 +63,5 @@ def build_context(sitemap_options): # remove bean, as it is not pickle friendly and its purpose is over if context.bean: del context["bean"] - + return context diff --git a/frappe/website/doctype/blog_category/blog_category.txt b/frappe/website/doctype/blog_category/blog_category.txt index ed6fcad289..3508e60faa 100644 --- a/frappe/website/doctype/blog_category/blog_category.txt +++ b/frappe/website/doctype/blog_category/blog_category.txt @@ -2,7 +2,7 @@ { "creation": "2013-03-08 09:41:11", "docstatus": 0, - "modified": "2014-02-18 15:25:04", + "modified": "2014-02-18 15:25:05", "modified_by": "Administrator", "owner": "Administrator" }, @@ -62,10 +62,10 @@ { "default": "blog", "doctype": "DocField", - "fieldname": "parent_website_sitemap", + "fieldname": "parent_website_route", "fieldtype": "Link", - "label": "Parent Website Sitemap", - "options": "Website Sitemap", + "label": "Parent Website Route", + "options": "Website Route", "reqd": 1 }, { diff --git a/frappe/website/doctype/blog_category/test_blog_category.py b/frappe/website/doctype/blog_category/test_blog_category.py index ad964a2c6a..6c6ee45a2a 100644 --- a/frappe/website/doctype/blog_category/test_blog_category.py +++ b/frappe/website/doctype/blog_category/test_blog_category.py @@ -6,12 +6,12 @@ test_records = [ "doctype": "Blog Category", "category_name": "_Test Blog Category", "title": "_Test Blog Category", - "parent_website_sitemap": "blog" + "parent_website_route": "blog" }], [{ "doctype": "Blog Category", "category_name": "_Test Blog Category 1", "title": "_Test Blog Category 1", - "parent_website_sitemap": "blog" + "parent_website_route": "blog" }] ] \ No newline at end of file diff --git a/frappe/website/doctype/blog_post/blog_post.py b/frappe/website/doctype/blog_post/blog_post.py index d3003b5647..c60b7819ee 100644 --- a/frappe/website/doctype/blog_post/blog_post.py +++ b/frappe/website/doctype/blog_post/blog_post.py @@ -28,7 +28,7 @@ class DocType(WebsiteGenerator): if self.doc.published and not self.doc.published_on: self.doc.published_on = today() - self.doc.parent_website_sitemap = frappe.conn.get_value("Website Sitemap", + self.doc.parent_website_route = frappe.conn.get_value("Website Route", {"ref_doctype": "Blog Category", "docname": self.doc.blog_category}) # update posts diff --git a/frappe/website/doctype/blog_post/blog_post.txt b/frappe/website/doctype/blog_post/blog_post.txt index 8263ab5e2f..84be241b19 100644 --- a/frappe/website/doctype/blog_post/blog_post.txt +++ b/frappe/website/doctype/blog_post/blog_post.txt @@ -2,7 +2,7 @@ { "creation": "2013-03-28 10:35:30", "docstatus": 0, - "modified": "2014-02-20 12:55:06", + "modified": "2014-02-20 12:55:07", "modified_by": "Administrator", "owner": "Administrator" }, @@ -85,11 +85,11 @@ }, { "doctype": "DocField", - "fieldname": "parent_website_sitemap", + "fieldname": "parent_website_route", "fieldtype": "Link", "hidden": 1, - "label": "Parent Website Sitemap", - "options": "Website Sitemap", + "label": "Parent Website Route", + "options": "Website Route", "read_only": 1 }, { diff --git a/frappe/website/doctype/user_vote/user_vote.py b/frappe/website/doctype/user_vote/user_vote.py index eb83979f1a..5b5af5f608 100644 --- a/frappe/website/doctype/user_vote/user_vote.py +++ b/frappe/website/doctype/user_vote/user_vote.py @@ -35,7 +35,7 @@ def on_doctype_update(): @frappe.whitelist() def set_vote(ref_doctype, ref_name): website_group = frappe.conn.get_value(ref_doctype, ref_name, "website_group") - pathname = frappe.conn.get_value("Website Sitemap", {"ref_doctype": "Website Group", + pathname = frappe.conn.get_value("Website Route", {"ref_doctype": "Website Group", "docname": website_group}) if not get_access(pathname).get("read"): diff --git a/frappe/website/doctype/web_page/test_web_page.py b/frappe/website/doctype/web_page/test_web_page.py new file mode 100644 index 0000000000..11f63eb495 --- /dev/null +++ b/frappe/website/doctype/web_page/test_web_page.py @@ -0,0 +1,36 @@ +from __future__ import unicode_literals +import unittest +import frappe + +test_records = [ + [{ + "doctype": "Web Page", + "title": "Test Web Page 1", + "main_section": "Test Content 1", + "published": 1 + }], + [{ + "doctype": "Web Page", + "title": "Test Web Page 2", + "main_section": "Test Content 2", + "published": 1, + "parent_website_route": "test-web-page-1" + }], + [{ + "doctype": "Web Page", + "title": "Test Web Page 3", + "main_section": "Test Content 3", + "published": 1, + "parent_website_route": "test-web-page-1" + }], + [{ + "doctype": "Web Page", + "title": "Test Web Page 4", + "main_section": "Test Content 4", + "published": 1, + }], +] + +def TestWebPage(unittest.TestCase): + def check_sitemap(self): + self.assertEquals(frappe.conn.get_value("Website Route", "")) \ No newline at end of file diff --git a/frappe/website/doctype/web_page/web_page.py b/frappe/website/doctype/web_page/web_page.py index 8575742d5f..2dd11af948 100644 --- a/frappe/website/doctype/web_page/web_page.py +++ b/frappe/website/doctype/web_page/web_page.py @@ -51,11 +51,11 @@ def _sync_statics(): if fname.rsplit(".", 1)[0]=="index" and os.path.dirname(fpath) != statics_path: url = os.path.dirname(url) - parent_website_sitemap = os.path.dirname(url) + parent_website_route = os.path.dirname(url) page_name = os.path.basename(url) try: - sitemap = frappe.bean("Website Sitemap", url) + sitemap = frappe.bean("Website Route", url) except frappe.DoesNotExistError: title, content = get_static_content(fpath) @@ -68,7 +68,7 @@ def _sync_statics(): "page_name": page_name, "main_section": content, "published": 1, - "parent_website_sitemap": parent_website_sitemap + "parent_website_route": parent_website_route }), os.path.getmtime(fpath)]) else: @@ -84,7 +84,7 @@ def _sync_statics(): page.doc.title = title page.save() - sitemap = frappe.bean("Website Sitemap", url) + sitemap = frappe.bean("Website Route", url) sitemap.doc.static_file_timestamp = os.path.getmtime(fpath) sitemap.save() @@ -122,11 +122,11 @@ def _sync_statics(): # delete not synced if synced: - frappe.delete_doc("Web Page", frappe.conn.sql_list("""select docname from `tabWebsite Sitemap` + frappe.delete_doc("Web Page", frappe.conn.sql_list("""select docname from `tabWebsite Route` where ifnull(static_file_timestamp,'')!='' and name not in ({}) order by (rgt-lft) asc""".format(', '.join(["%s"]*len(synced))), tuple(synced))) else: - frappe.delete_doc("Web Page", frappe.conn.sql_list("""select docname from `tabWebsite Sitemap` + frappe.delete_doc("Web Page", frappe.conn.sql_list("""select docname from `tabWebsite Route` where ifnull(static_file_timestamp,'')!='' order by (rgt-lft) asc""")) @@ -135,7 +135,7 @@ def _sync_statics(): page.insert() # update timestamp - sitemap = frappe.bean("Website Sitemap", {"ref_doctype": "Web Page", + sitemap = frappe.bean("Website Route", {"ref_doctype": "Web Page", "docname": page.doc.name}) sitemap.doc.static_file_timestamp = mtime sitemap.save() diff --git a/frappe/website/doctype/web_page/web_page.txt b/frappe/website/doctype/web_page/web_page.txt index 8dc4fee280..959643da90 100644 --- a/frappe/website/doctype/web_page/web_page.txt +++ b/frappe/website/doctype/web_page/web_page.txt @@ -2,7 +2,7 @@ { "creation": "2013-03-28 10:35:30", "docstatus": 0, - "modified": "2014-02-10 18:07:28", + "modified": "2014-02-10 18:07:29", "modified_by": "Administrator", "owner": "Administrator" }, @@ -71,10 +71,10 @@ }, { "doctype": "DocField", - "fieldname": "parent_website_sitemap", + "fieldname": "parent_website_route", "fieldtype": "Link", "label": "Parent Website Page", - "options": "Website Sitemap" + "options": "Website Route" }, { "doctype": "DocField", diff --git a/frappe/website/doctype/website_group/website_group.py b/frappe/website/doctype/website_group/website_group.py index 8a30d12aff..c85f60c105 100644 --- a/frappe/website/doctype/website_group/website_group.py +++ b/frappe/website/doctype/website_group/website_group.py @@ -22,4 +22,4 @@ class DocType(WebsiteGenerator): clear_cache(website_group=self.doc.name) def after_insert(self): - clear_cache(path=self.doc.parent_website_sitemap) \ No newline at end of file + clear_cache(path=self.doc.parent_website_route) \ No newline at end of file diff --git a/frappe/website/doctype/website_group/website_group.txt b/frappe/website/doctype/website_group/website_group.txt index 9eff115989..8a2e91cd92 100644 --- a/frappe/website/doctype/website_group/website_group.txt +++ b/frappe/website/doctype/website_group/website_group.txt @@ -2,7 +2,7 @@ { "creation": "2014-01-29 15:57:42", "docstatus": 0, - "modified": "2014-02-10 14:38:12", + "modified": "2014-02-10 14:38:13", "modified_by": "Administrator", "owner": "Administrator" }, @@ -69,13 +69,13 @@ "reqd": 1 }, { - "description": "Display in the sidebar of this Website Sitemap node", + "description": "Display in the sidebar of this Website Route node", "doctype": "DocField", - "fieldname": "parent_website_sitemap", + "fieldname": "parent_website_route", "fieldtype": "Link", "in_list_view": 0, "label": "Parent Website Page", - "options": "Website Sitemap" + "options": "Website Route" }, { "doctype": "DocField", diff --git a/frappe/website/doctype/website_sitemap/__init__.py b/frappe/website/doctype/website_route/__init__.py similarity index 100% rename from frappe/website/doctype/website_sitemap/__init__.py rename to frappe/website/doctype/website_route/__init__.py diff --git a/frappe/website/doctype/website_sitemap/website_sitemap.py b/frappe/website/doctype/website_route/website_route.py similarity index 61% rename from frappe/website/doctype/website_sitemap/website_sitemap.py rename to frappe/website/doctype/website_route/website_route.py index ac0df30d15..6585cf1213 100644 --- a/frappe/website/doctype/website_sitemap/website_sitemap.py +++ b/frappe/website/doctype/website_route/website_route.py @@ -8,21 +8,20 @@ from frappe.utils import cint from frappe.utils.nestedset import DocTypeNestedSet sitemap_fields = ("page_name", "ref_doctype", "docname", "page_or_generator", "idx", - "lastmod", "parent_website_sitemap", "public_read", "public_write", "page_title") + "lastmod", "parent_website_route", "public_read", "public_write", "page_title") class DocType(DocTypeNestedSet): def __init__(self, d, dl): self.doc, self.doclist = d, dl - self.nsm_parent_field = "parent_website_sitemap" + self.nsm_parent_field = "parent_website_route" def autoname(self): self.doc.name = self.get_url() def get_url(self): url = self.doc.page_name - if self.doc.parent_website_sitemap: - url = self.doc.parent_website_sitemap + "/" + url - + if self.doc.parent_website_route: + url = self.doc.parent_website_route + "/" + url return url def validate(self): @@ -35,35 +34,35 @@ class DocType(DocTypeNestedSet): self.set_idx() def renumber_if_moved(self): - current_parent = frappe.conn.get_value("Website Sitemap", self.doc.name, "parent_website_sitemap") - if current_parent and current_parent != self.doc.parent_website_sitemap: + current_parent = frappe.conn.get_value("Website Route", self.doc.name, "parent_website_route") + if current_parent and current_parent != self.doc.parent_website_route: # move-up # sitemap - frappe.conn.sql("""update `tabWebsite Sitemap` set idx=idx-1 - where parent_website_sitemap=%s and idx>%s""", (current_parent, self.doc.idx)) + frappe.conn.sql("""update `tabWebsite Route` set idx=idx-1 + where parent_website_route=%s and idx>%s""", (current_parent, self.doc.idx)) # source table frappe.conn.sql("""update `tab{0}` set idx=idx-1 - where parent_website_sitemap=%s and idx>%s""".format(self.doc.ref_doctype), + where parent_website_route=%s and idx>%s""".format(self.doc.ref_doctype), (current_parent, self.doc.idx)) self.doc.idx = None def set_idx(self): if self.doc.idx==None: self.doc.idx = int(frappe.conn.sql("""select ifnull(max(ifnull(idx, -1)), -1) - from `tabWebsite Sitemap` - where ifnull(parent_website_sitemap, '')=%s and name!=%s""", - (self.doc.parent_website_sitemap or '', + from `tabWebsite Route` + where ifnull(parent_website_route, '')=%s and name!=%s""", + (self.doc.parent_website_route or '', self.doc.name))[0][0]) + 1 else: - if self.doc.parent_website_sitemap: + if self.doc.parent_website_route: self.doc.idx = cint(self.doc.idx) previous_idx = frappe.conn.sql("""select max(idx) - from `tab{}` where ifnull(parent_website_sitemap, '')=%s + from `tab{}` where ifnull(parent_website_route, '')=%s and ifnull(idx, -1) < %s""".format(self.doc.ref_doctype), - (self.doc.parent_website_sitemap, self.doc.idx))[0][0] + (self.doc.parent_website_route, self.doc.idx))[0][0] if previous_idx and previous_idx != self.doc.idx - 1: frappe.throw("{}: {}, {}".format( @@ -78,7 +77,7 @@ class DocType(DocTypeNestedSet): from frappe.website.render import clear_cache self.old_name = self.doc.name self.doc.name = self.get_url() - frappe.conn.sql("""update `tabWebsite Sitemap` set name=%s where name=%s""", + frappe.conn.sql("""update `tabWebsite Route` set name=%s where name=%s""", (self.doc.name, self.old_name)) self.rename_links() self.rename_descendants() @@ -86,28 +85,28 @@ class DocType(DocTypeNestedSet): def rename_links(self): for doctype in frappe.conn.sql_list("""select parent from tabDocField where fieldtype='Link' and - fieldname='parent_website_sitemap' and options='Website Sitemap'"""): + fieldname='parent_website_route' and options='Website Route'"""): for name in frappe.conn.sql_list("""select name from `tab{}` - where parent_website_sitemap=%s""".format(doctype), self.old_name): - frappe.conn.set_value(doctype, name, "parent_website_sitemap", self.doc.name) + where parent_website_route=%s""".format(doctype), self.old_name): + frappe.conn.set_value(doctype, name, "parent_website_route", self.doc.name) def rename_descendants(self): # rename children - for name in frappe.conn.sql_list("""select name from `tabWebsite Sitemap` - where parent_website_sitemap=%s""", self.doc.name): - child = frappe.bean("Website Sitemap", name) - child.doc.parent_website_sitemap = self.doc.name + for name in frappe.conn.sql_list("""select name from `tabWebsite Route` + where parent_website_route=%s""", self.doc.name): + child = frappe.bean("Website Route", name) + child.doc.parent_website_route = self.doc.name child.save() def check_if_page_name_is_unique(self): exists = False if self.doc.page_or_generator == "Page": # for a page, name and website sitemap config form a unique key - exists = frappe.conn.sql("""select name from `tabWebsite Sitemap` - where name=%s and website_sitemap_config!=%s""", (self.doc.name, self.doc.website_sitemap_config)) + exists = frappe.conn.sql("""select name from `tabWebsite Route` + where name=%s and website_template!=%s""", (self.doc.name, self.doc.website_template)) else: # for a generator, name, ref_doctype and docname make a unique key - exists = frappe.conn.sql("""select name from `tabWebsite Sitemap` + exists = frappe.conn.sql("""select name from `tabWebsite Route` where name=%s and (ifnull(ref_doctype, '')!=%s or ifnull(docname, '')!=%s)""", (self.doc.name, self.doc.ref_doctype, self.doc.docname)) @@ -116,8 +115,8 @@ class DocType(DocTypeNestedSet): self.doc.name, _("Please change it to continue"))) def make_private_if_parent_is_private(self): - if self.doc.parent_website_sitemap: - parent_pubic_read = frappe.conn.get_value("Website Sitemap", self.doc.parent_website_sitemap, + if self.doc.parent_website_route: + parent_pubic_read = frappe.conn.get_value("Website Route", self.doc.parent_website_route, "public_read") if not parent_pubic_read: @@ -126,27 +125,27 @@ class DocType(DocTypeNestedSet): def on_trash(self): from frappe.website.render import clear_cache # remove website sitemap permissions - to_remove = frappe.conn.sql_list("""select name from `tabWebsite Sitemap Permission` - where website_sitemap=%s""", (self.doc.name,)) - frappe.delete_doc("Website Sitemap Permission", to_remove, ignore_permissions=True) + to_remove = frappe.conn.sql_list("""select name from `tabWebsite Route Permission` + where website_route=%s""", (self.doc.name,)) + frappe.delete_doc("Website Route Permission", to_remove, ignore_permissions=True) clear_cache(self.doc.name) def add_to_sitemap(options): - bean = frappe.new_bean("Website Sitemap") + bean = frappe.new_bean("Website Route") for key in sitemap_fields: bean.doc.fields[key] = options.get(key) if not bean.doc.page_name: bean.doc.page_name = options.link_name - bean.doc.website_sitemap_config = options.link_name + bean.doc.website_template = options.link_name bean.insert(ignore_permissions=True) return bean.doc.idx -def update_sitemap(website_sitemap, options): - bean = frappe.bean("Website Sitemap", website_sitemap) +def update_sitemap(website_route, options): + bean = frappe.bean("Website Route", website_route) for key in sitemap_fields: bean.doc.fields[key] = options.get(key) @@ -155,22 +154,22 @@ def update_sitemap(website_sitemap, options): # for pages bean.doc.page_name = options.link_name - bean.doc.website_sitemap_config = options.link_name + bean.doc.website_template = options.link_name bean.save(ignore_permissions=True) return bean.doc.idx def remove_sitemap(page_name=None, ref_doctype=None, docname=None): if page_name: - frappe.delete_doc("Website Sitemap", page_name, ignore_permissions=True) + frappe.delete_doc("Website Route", page_name, ignore_permissions=True) elif ref_doctype and docname: - frappe.delete_doc("Website Sitemap", frappe.conn.sql_list("""select name from `tabWebsite Sitemap` + frappe.delete_doc("Website Route", frappe.conn.sql_list("""select name from `tabWebsite Route` where ref_doctype=%s and docname=%s""", (ref_doctype, docname)), ignore_permissions=True) def cleanup_sitemap(): """remove sitemap records where its config do not exist anymore""" - to_delete = frappe.conn.sql_list("""select name from `tabWebsite Sitemap` ws - where not exists(select name from `tabWebsite Sitemap Config` wsc - where wsc.name=ws.website_sitemap_config)""") + to_delete = frappe.conn.sql_list("""select name from `tabWebsite Route` ws + where not exists(select name from `tabWebsite Template` wsc + where wsc.name=ws.website_template)""") - frappe.delete_doc("Website Sitemap", to_delete, ignore_permissions=True) + frappe.delete_doc("Website Route", to_delete, ignore_permissions=True) diff --git a/frappe/website/doctype/website_sitemap/website_sitemap.txt b/frappe/website/doctype/website_route/website_route.txt similarity index 88% rename from frappe/website/doctype/website_sitemap/website_sitemap.txt rename to frappe/website/doctype/website_route/website_route.txt index 18bc601a14..65f3f4e9e1 100644 --- a/frappe/website/doctype/website_sitemap/website_sitemap.txt +++ b/frappe/website/doctype/website_route/website_route.txt @@ -2,7 +2,7 @@ { "creation": "2013-11-18 15:38:40", "docstatus": 0, - "modified": "2014-02-18 15:23:12", + "modified": "2014-02-24 12:46:59", "modified_by": "Administrator", "owner": "Administrator" }, @@ -16,7 +16,7 @@ { "doctype": "DocField", "name": "__common__", - "parent": "Website Sitemap", + "parent": "Website Route", "parentfield": "fields", "parenttype": "DocType", "permlevel": 0 @@ -27,7 +27,7 @@ "delete": 1, "doctype": "DocPerm", "name": "__common__", - "parent": "Website Sitemap", + "parent": "Website Route", "parentfield": "permissions", "parenttype": "DocType", "permlevel": 0, @@ -38,7 +38,7 @@ }, { "doctype": "DocType", - "name": "Website Sitemap" + "name": "Website Route" }, { "doctype": "DocField", @@ -86,18 +86,18 @@ }, { "doctype": "DocField", - "fieldname": "website_sitemap_config", + "fieldname": "website_template", "fieldtype": "Link", - "label": "Website Sitemap Config", - "options": "Website Sitemap Config" + "label": "Website Template", + "options": "Website Template" }, { "doctype": "DocField", - "fieldname": "parent_website_sitemap", + "fieldname": "parent_website_route", "fieldtype": "Link", "in_list_view": 1, "label": "Parent Website Sitemap", - "options": "Website Sitemap", + "options": "Website Route", "search_index": 1 }, { diff --git a/frappe/website/doctype/website_sitemap_config/__init__.py b/frappe/website/doctype/website_route_permission/__init__.py similarity index 100% rename from frappe/website/doctype/website_sitemap_config/__init__.py rename to frappe/website/doctype/website_route_permission/__init__.py diff --git a/frappe/website/doctype/website_route_permission/website_route_permission.py b/frappe/website/doctype/website_route_permission/website_route_permission.py new file mode 100644 index 0000000000..f3aaad70b0 --- /dev/null +++ b/frappe/website/doctype/website_route_permission/website_route_permission.py @@ -0,0 +1,16 @@ +# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors +# MIT License. See license.txt + +from __future__ import unicode_literals +import frappe + +from frappe.website.permissions import remove_empty_permissions, clear_permissions + +class DocType: + def __init__(self, d, dl): + self.doc, self.doclist = d, dl + + def on_update(self): + remove_empty_permissions() + clear_permissions(self.doc.profile) + \ No newline at end of file diff --git a/frappe/website/doctype/website_route_permission/website_route_permission.txt b/frappe/website/doctype/website_route_permission/website_route_permission.txt new file mode 100644 index 0000000000..9297fae96d --- /dev/null +++ b/frappe/website/doctype/website_route_permission/website_route_permission.txt @@ -0,0 +1,85 @@ +[ + { + "creation": "2014-01-29 17:56:29", + "docstatus": 0, + "modified": "2014-02-24 13:17:17", + "modified_by": "Administrator", + "owner": "Administrator" + }, + { + "autoname": "WSP.######", + "doctype": "DocType", + "icon": "icon-shield", + "module": "Website", + "name": "__common__" + }, + { + "doctype": "DocField", + "in_list_view": 1, + "name": "__common__", + "parent": "Website Route Permission", + "parentfield": "fields", + "parenttype": "DocType", + "permlevel": 0 + }, + { + "cancel": 0, + "create": 1, + "delete": 0, + "doctype": "DocPerm", + "export": 1, + "import": 0, + "name": "__common__", + "parent": "Website Route Permission", + "parentfield": "permissions", + "parenttype": "DocType", + "permlevel": 0, + "read": 1, + "report": 1, + "role": "Website Manager", + "write": 1 + }, + { + "doctype": "DocType", + "name": "Website Route Permission" + }, + { + "doctype": "DocField", + "fieldname": "website_route", + "fieldtype": "Link", + "label": "Website Route", + "options": "Website Route", + "reqd": 1, + "search_index": 1 + }, + { + "doctype": "DocField", + "fieldname": "profile", + "fieldtype": "Link", + "label": "Profile", + "options": "Profile", + "reqd": 1, + "search_index": 1 + }, + { + "doctype": "DocField", + "fieldname": "read", + "fieldtype": "Check", + "label": "Read" + }, + { + "doctype": "DocField", + "fieldname": "write", + "fieldtype": "Check", + "label": "Write" + }, + { + "doctype": "DocField", + "fieldname": "admin", + "fieldtype": "Check", + "label": "Admin" + }, + { + "doctype": "DocPerm" + } +] \ No newline at end of file diff --git a/frappe/website/doctype/website_settings/website_settings.py b/frappe/website/doctype/website_settings/website_settings.py index a5c59141be..1f8ac30cf5 100644 --- a/frappe/website/doctype/website_settings/website_settings.py +++ b/frappe/website/doctype/website_settings/website_settings.py @@ -16,7 +16,7 @@ class DocType(DocListController): def validate_home_page(self): if self.doc.home_page and \ - not frappe.conn.get_value("Website Sitemap", {"name": self.doc.home_page}): + not frappe.conn.get_value("Website Route", {"name": self.doc.home_page}): frappe.throw(_("Invalid Home Page") + " (Standard pages - index, login, products, blog, about, contact)") def validate_top_bar_items(self): diff --git a/frappe/website/doctype/website_settings/website_settings.txt b/frappe/website/doctype/website_settings/website_settings.txt index c7d97a1eb8..53000ae6bc 100644 --- a/frappe/website/doctype/website_settings/website_settings.txt +++ b/frappe/website/doctype/website_settings/website_settings.txt @@ -52,7 +52,7 @@ "fieldname": "home_page", "fieldtype": "Link", "label": "Home Page", - "options": "Website Sitemap", + "options": "Website Route", "reqd": 0 }, { diff --git a/frappe/website/doctype/website_sitemap_permission/website_sitemap_permission.txt b/frappe/website/doctype/website_sitemap_permission/website_sitemap_permission.txt index d253f93752..55a86f5826 100644 --- a/frappe/website/doctype/website_sitemap_permission/website_sitemap_permission.txt +++ b/frappe/website/doctype/website_sitemap_permission/website_sitemap_permission.txt @@ -17,7 +17,7 @@ "doctype": "DocField", "in_list_view": 1, "name": "__common__", - "parent": "Website Sitemap Permission", + "parent": "Website Route Permission", "parentfield": "fields", "parenttype": "DocType", "permlevel": 0 @@ -29,7 +29,7 @@ "export": 1, "import": 0, "name": "__common__", - "parent": "Website Sitemap Permission", + "parent": "Website Route Permission", "parentfield": "permissions", "parenttype": "DocType", "permlevel": 0, @@ -40,14 +40,14 @@ }, { "doctype": "DocType", - "name": "Website Sitemap Permission" + "name": "Website Route Permission" }, { "doctype": "DocField", - "fieldname": "website_sitemap", + "fieldname": "website_route", "fieldtype": "Link", - "label": "Website Sitemap", - "options": "Website Sitemap", + "label": "Website Route", + "options": "Website Route", "reqd": 1, "search_index": 1 }, diff --git a/frappe/website/doctype/website_template/__init__.py b/frappe/website/doctype/website_template/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/website/doctype/website_sitemap_config/website_sitemap_config.py b/frappe/website/doctype/website_template/website_template.py similarity index 75% rename from frappe/website/doctype/website_sitemap_config/website_sitemap_config.py rename to frappe/website/doctype/website_template/website_template.py index fe43e52908..2f1979c710 100644 --- a/frappe/website/doctype/website_sitemap_config/website_sitemap_config.py +++ b/frappe/website/doctype/website_template/website_template.py @@ -8,7 +8,7 @@ import frappe import frappe.utils import os from frappe import _ -from frappe.website.doctype.website_sitemap.website_sitemap import add_to_sitemap, update_sitemap, cleanup_sitemap +from frappe.website.doctype.website_route.website_route import add_to_sitemap, update_sitemap, cleanup_sitemap from frappe.utils.nestedset import rebuild_tree class DocType: @@ -17,14 +17,14 @@ class DocType: def after_insert(self): if self.doc.page_or_generator == "Page": - website_sitemap = frappe.conn.get_value("Website Sitemap", - {"website_sitemap_config": self.doc.name, "page_or_generator": "Page"}) + website_route = frappe.conn.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_sitemap: - update_sitemap(website_sitemap, opts) + + if website_route: + update_sitemap(website_route, opts) else: add_to_sitemap(opts) @@ -41,37 +41,39 @@ class DocType: sort_order = self.doc.sort_order or "asc" )): bean = frappe.bean(self.doc.ref_doctype, name) + + # regenerate route bean.run_method("on_update") -def rebuild_website_sitemap_config(): +def rebuild_website_template(): # TODO frappe.flags.in_rebuild_config = True - frappe.conn.sql("""delete from `tabWebsite Sitemap Config`""") + frappe.conn.sql("""delete from `tabWebsite Template`""") for app in frappe.get_installed_apps(): if app=="webnotes": app="frappe" - build_website_sitemap_config(app) + build_website_template(app) cleanup_sitemap() frappe.flags.in_rebuild_config = False # enable nested set and rebuild - rebuild_tree("Website Sitemap", "parent_website_sitemap") + rebuild_tree("Website Route", "parent_website_route") frappe.conn.commit() -def build_website_sitemap_config(app): +def build_website_template(app): config = {"pages": {}, "generators":{}} pages, generators = get_pages_and_generators(app) - + for args in pages: - add_website_sitemap_config(*args) + add_website_template(**args) for args in generators: - add_website_sitemap_config(*args) + add_website_template(**args) frappe.conn.commit() @@ -87,17 +89,19 @@ def get_pages_and_generators(app): fname = frappe.utils.cstr(fname) if fname.split(".")[-1] in ("html", "xml", "js", "css"): if config_type=="pages": - pages.append(["Page", app, path, fname, app_path]) + pages.append({"page_or_generator": "Page", "app": app, "path": path, + "fname":fname, "app_path":app_path}) else: - generators.append(["Generator", app, path, fname, app_path]) + generators.append({"page_or_generator": "Generator", "app": app, "path": path, + "fname":fname, "app_path":app_path}) return pages, generators -def add_website_sitemap_config(page_or_generator, app, path, fname, app_path): +def add_website_template(page_or_generator, app, path, fname, app_path): name = fname[:-5] if fname.endswith(".html") else fname wsc = frappe._dict({ - "doctype": "Website Sitemap Config", + "doctype": "Website Template", "page_or_generator": page_or_generator, "link_name": name, "template_path": os.path.relpath(os.path.join(path, fname), app_path), @@ -119,9 +123,9 @@ def add_website_sitemap_config(page_or_generator, app, path, fname, app_path): wsc.base_template_path = getattr(module, "base_template_path", None) wsc.page_title = getattr(module, "page_title", _(name.title())) - if frappe.conn.exists("Website Sitemap Config", wsc.link_name): + if frappe.conn.exists("Website Template", wsc.link_name): # found by earlier app, override - frappe.conn.sql("""delete from `tabWebsite Sitemap Config` where name=%s""", (wsc.link_name,)) + frappe.conn.sql("""delete from `tabWebsite Template` where name=%s""", (wsc.link_name,)) frappe.bean(wsc).insert() diff --git a/frappe/website/doctype/website_sitemap_config/website_sitemap_config.txt b/frappe/website/doctype/website_template/website_template.txt similarity index 94% rename from frappe/website/doctype/website_sitemap_config/website_sitemap_config.txt rename to frappe/website/doctype/website_template/website_template.txt index c5b784c339..f7f9d545d5 100644 --- a/frappe/website/doctype/website_sitemap_config/website_sitemap_config.txt +++ b/frappe/website/doctype/website_template/website_template.txt @@ -2,7 +2,7 @@ { "creation": "2013-11-18 15:35:00", "docstatus": 0, - "modified": "2014-02-18 15:22:32", + "modified": "2014-02-24 12:47:44", "modified_by": "Administrator", "owner": "Administrator" }, @@ -16,7 +16,7 @@ { "doctype": "DocField", "name": "__common__", - "parent": "Website Sitemap Config", + "parent": "Website Template", "parentfield": "fields", "parenttype": "DocType", "permlevel": 0 @@ -28,7 +28,7 @@ "doctype": "DocPerm", "export": 0, "name": "__common__", - "parent": "Website Sitemap Config", + "parent": "Website Template", "parentfield": "permissions", "parenttype": "DocType", "permlevel": 0, @@ -39,7 +39,7 @@ }, { "doctype": "DocType", - "name": "Website Sitemap Config" + "name": "Website Template" }, { "doctype": "DocField", diff --git a/frappe/website/page/sitemap_browser/sitemap_browser.js b/frappe/website/page/sitemap_browser/sitemap_browser.js index 4b5491aced..d9497011ce 100644 --- a/frappe/website/page/sitemap_browser/sitemap_browser.js +++ b/frappe/website/page/sitemap_browser/sitemap_browser.js @@ -85,7 +85,7 @@ frappe.website.SitemapBrowser = Class.extend({ }, open: function() { var node = this.selected_node(); - frappe.set_route("Form", "Website Sitemap", node.data("label")); + frappe.set_route("Form", "Website Route", node.data("label")); }, up_or_down: function(up_or_down) { var node = this.tree.get_selected_node(); @@ -115,7 +115,7 @@ frappe.website.SitemapBrowser = Class.extend({ fieldname: "new_parent", label: "New Parent", reqd: 1, - options: "Website Sitemap" + options: "Website Route" }, { fieldtype: "Button", diff --git a/frappe/website/page/sitemap_browser/sitemap_browser.py b/frappe/website/page/sitemap_browser/sitemap_browser.py index b989b9ce7e..eabfaafd57 100644 --- a/frappe/website/page/sitemap_browser/sitemap_browser.py +++ b/frappe/website/page/sitemap_browser/sitemap_browser.py @@ -7,28 +7,28 @@ from frappe.website.render import clear_cache @frappe.whitelist() def get_children(parent=None): - if not frappe.has_permission("Website Sitemap"): + if not frappe.has_permission("Website Route"): raise frappe.PermissionError if parent=="Sitemap": parent = "" return frappe.conn.sql("""select name as value, 1 as expandable, ref_doctype, docname - from `tabWebsite Sitemap` where - ifnull(parent_website_sitemap, '')=%s + from `tabWebsite Route` where + ifnull(parent_website_route, '')=%s order by ifnull(idx,0), name asc""", parent, as_dict=True) @frappe.whitelist() def move(name, up_or_down): ret = None - if not frappe.has_permission("Website Sitemap"): + if not frappe.has_permission("Website Route"): raise frappe.PermissionError - sitemap = frappe.doc("Website Sitemap", name) + sitemap = frappe.doc("Website Route", name) if up_or_down=="up": if sitemap.idx > 0: - prev = frappe.doc("Website Sitemap", { - "parent_website_sitemap": sitemap.parent_website_sitemap, + prev = frappe.doc("Website Route", { + "parent_website_route": sitemap.parent_website_route, "idx": sitemap.idx - 1 }) if prev.name: @@ -40,8 +40,8 @@ def move(name, up_or_down): ret = "ok" else: - nexts = frappe.doc("Website Sitemap", { - "parent_website_sitemap": sitemap.parent_website_sitemap, + nexts = frappe.doc("Website Route", { + "parent_website_route": sitemap.parent_website_route, "idx": sitemap.idx + 1 }) if nexts.name: @@ -57,16 +57,16 @@ def move(name, up_or_down): @frappe.whitelist() def update_parent(name, new_parent): - if not frappe.has_permission("Website Sitemap"): + if not frappe.has_permission("Website Route"): raise frappe.PermissionError - sitemap = frappe.doc("Website Sitemap", name) + sitemap = frappe.doc("Website Route", name) if sitemap.ref_doctype: generator = frappe.bean(sitemap.ref_doctype, sitemap.docname) - if not generator.meta.has_field("parent_website_sitemap"): + if not generator.meta.has_field("parent_website_route"): frappe.throw("Does not allow moving.") - generator.doc.parent_website_sitemap = new_parent + generator.doc.parent_website_route = new_parent generator.save() else: frappe.msgprint("Template Pages cannot be moved.") diff --git a/frappe/website/page/website_home/website_home.js b/frappe/website/page/website_home/website_home.js index 96b0c0c8f9..6dd4731f40 100644 --- a/frappe/website/page/website_home/website_home.js +++ b/frappe/website/page/website_home/website_home.js @@ -52,7 +52,7 @@ frappe.module_page["Website"] = [ { label: frappe._("Website Page Permission"), description: frappe._("Define read, write, admin permissions for a Website Page."), - doctype:"Website Sitemap Permission", + doctype:"Website Route Permission", }, ] }, @@ -65,7 +65,7 @@ frappe.module_page["Website"] = [ { "route":"sitemap-browser", "label":frappe._("Sitemap Browser"), - "description":frappe._("View or manage Website Sitemap tree."), + "description":frappe._("View or manage Website Route tree."), doctype:"Website Settings", icon: "icon-sitemap" }, diff --git a/frappe/website/permissions.py b/frappe/website/permissions.py index 1209041d86..8c736c7752 100644 --- a/frappe/website/permissions.py +++ b/frappe/website/permissions.py @@ -7,17 +7,17 @@ import frappe def remove_empty_permissions(): permissions_cache_to_be_cleared = frappe.conn.sql_list("""select distinct profile - from `tabWebsite Sitemap Permission` + from `tabWebsite Route Permission` where ifnull(`read`, 0)=0 and ifnull(`write`, 0)=0 and ifnull(`admin`, 0)=0""") - frappe.conn.sql("""delete from `tabWebsite Sitemap Permission` + frappe.conn.sql("""delete from `tabWebsite Route Permission` where ifnull(`read`, 0)=0 and ifnull(`write`, 0)=0 and ifnull(`admin`, 0)=0""") clear_permissions(permissions_cache_to_be_cleared) def get_access(sitemap_page, profile=None): profile = profile or frappe.session.user - key = "website_sitemap_permissions:{}".format(profile) + key = "website_route_permissions:{}".format(profile) cache = frappe.cache() permissions = cache.get_value(key) or {} @@ -28,37 +28,43 @@ def get_access(sitemap_page, profile=None): return permissions.get(sitemap_page) def _get_access(sitemap_page, profile): - lft, rgt, public_read, public_write = frappe.conn.get_value("Website Sitemap", sitemap_page, - ["lft", "rgt", "public_read", "public_write"]) + lft, rgt, public_read, public_write, page_or_generator = frappe.conn.get_value("Website Route", sitemap_page, + ["lft", "rgt", "public_read", "public_write", "page_or_generator"]) - if not (lft and rgt): - raise frappe.ValidationError("Please rebuild Website Sitemap Tree") + read = write = admin = private_read = 0 + + if page_or_generator=="Generator": + + if not (lft and rgt): + raise frappe.ValidationError("Please rebuild Website Route Tree") - if profile == "Guest": - return { "read": public_read, "write": 0, "admin": 0 } + if profile == "Guest": + return { "read": public_read, "write": 0, "admin": 0 } - read = write = admin = private_read = 0 - if public_write: - read = write = 1 - elif public_read: - read = 1 + if public_write: + read = write = 1 + elif public_read: + read = 1 - for perm in frappe.conn.sql("""select wsp.`read`, wsp.`write`, wsp.`admin`, - ws.lft, ws.rgt, ws.name - from `tabWebsite Sitemap Permission` wsp, `tabWebsite Sitemap` ws - where wsp.profile = %s and wsp.website_sitemap = ws.name - order by lft asc""", (profile,), as_dict=True): - if perm.lft <= lft and perm.rgt >= rgt: - if not (public_read or private_read): private_read = perm.read - if not read: read = perm.read - if not write: write = perm.write - if not admin: admin = perm.admin - if write: read = write + for perm in frappe.conn.sql("""select wsp.`read`, wsp.`write`, wsp.`admin`, + ws.lft, ws.rgt, ws.name + from `tabWebsite Route Permission` wsp, `tabWebsite Route` ws + where wsp.profile = %s and wsp.website_route = ws.name + order by lft asc""", (profile,), as_dict=True): + if perm.lft <= lft and perm.rgt >= rgt: + if not (public_read or private_read): private_read = perm.read + if not read: read = perm.read + if not write: write = perm.write + if not admin: admin = perm.admin + if write: read = write if read and write and admin: break - + + else: + read = write = admin = private_read = 1 + return { "read": read, "write": write, "admin": admin, "private_read": private_read } def clear_permissions(profiles=None): @@ -69,4 +75,4 @@ def clear_permissions(profiles=None): cache = frappe.cache() for profile in profiles: - cache.delete_value("website_sitemap_permissions:{}".format(profile)) + cache.delete_value("website_route_permissions:{}".format(profile)) diff --git a/frappe/website/render.py b/frappe/website/render.py index cf77fbe49d..36794ce055 100644 --- a/frappe/website/render.py +++ b/frappe/website/render.py @@ -111,7 +111,7 @@ def clear_cache(path=None): delete_page_cache(path) else: - for p in frappe.conn.sql_list("""select name from `tabWebsite Sitemap`"""): + for p in frappe.conn.sql_list("""select name from `tabWebsite Route`"""): if p is not None: delete_page_cache(p) diff --git a/frappe/website/sitemap.py b/frappe/website/sitemap.py index bb69b09d09..94c878c227 100644 --- a/frappe/website/sitemap.py +++ b/frappe/website/sitemap.py @@ -21,11 +21,11 @@ def get_sitemap_options(path): return frappe._dict(sitemap_options) def build_sitemap_options(path): - sitemap_options = frappe.doc("Website Sitemap", path).fields + sitemap_options = frappe.doc("Website Route", path).fields home_page = get_home_page() - sitemap_config = frappe.doc("Website Sitemap Config", - sitemap_options.get("website_sitemap_config")).fields + sitemap_config = frappe.doc("Website Template", + sitemap_options.get("website_template")).fields # get sitemap config fields too for fieldname in ("base_template_path", "template_path", "controller", "no_cache", "no_sitemap", @@ -41,18 +41,18 @@ def build_sitemap_options(path): sitemap_options.children = frappe.conn.sql("""select url as name, label as page_title, 1 as public_read from `tabTop Bar Item` where parentfield='sidebar_items' order by idx""", as_dict=True) else: - sitemap_options.children = frappe.conn.sql("""select * from `tabWebsite Sitemap` - where ifnull(parent_website_sitemap,'')=%s + sitemap_options.children = frappe.conn.sql("""select * from `tabWebsite Route` + where ifnull(parent_website_route,'')=%s and public_read=1 order by -idx desc, page_title asc""", pathname, as_dict=True) # establish hierarchy - sitemap_options.parents = frappe.conn.sql("""select name, page_title from `tabWebsite Sitemap` + sitemap_options.parents = frappe.conn.sql("""select name, page_title from `tabWebsite Route` where lft < %s and rgt > %s order by lft asc""", (sitemap_options.lft, sitemap_options.rgt), as_dict=True) if not sitemap_options.no_sidebar: set_sidebar_items(sitemap_options.pathname) if not sitemap_options.children: - set_sidebar_items(sitemap_options.parent_website_sitemap) + set_sidebar_items(sitemap_options.parent_website_route) # determine templates to be used if not sitemap_options.base_template_path: diff --git a/frappe/website/website_generator.py b/frappe/website/website_generator.py index f9703f1722..3c4683665b 100644 --- a/frappe/website/website_generator.py +++ b/frappe/website/website_generator.py @@ -6,7 +6,7 @@ import frappe from frappe.model.controller import DocListController from frappe.website.utils import cleanup_page_name -from frappe.website.doctype.website_sitemap.website_sitemap import add_to_sitemap, update_sitemap, remove_sitemap +from frappe.website.doctype.website_route.website_route import add_to_sitemap, update_sitemap, remove_sitemap def call_website_generator(bean, method, *args, **kwargs): getattr(WebsiteGenerator(bean.doc, bean.doclist), method)(*args, **kwargs) @@ -26,11 +26,11 @@ class WebsiteGenerator(DocListController): return page_name - def get_parent_website_sitemap(self): - return self.doc.parent_website_sitemap + def get_parent_website_route(self): + return self.doc.parent_website_route def setup_generator(self): - self._website_config = frappe.conn.get_values("Website Sitemap Config", + self._website_config = frappe.conn.get_values("Website Template", {"ref_doctype": self.doc.doctype}, "*")[0] def on_update(self): @@ -38,7 +38,7 @@ class WebsiteGenerator(DocListController): frappe.add_version(self.doclist) def after_rename(self, olddn, newdn, merge): - frappe.conn.sql("""update `tabWebsite Sitemap` + frappe.conn.sql("""update `tabWebsite Route` set docname=%s where ref_doctype=%s and docname=%s""", (newdn, self.doc.doctype, olddn)) if merge: @@ -63,7 +63,7 @@ class WebsiteGenerator(DocListController): def add_or_update_sitemap(self): page_name = self.get_page_name() - existing_site_map = frappe.conn.get_value("Website Sitemap", {"ref_doctype": self.doc.doctype, + existing_site_map = frappe.conn.get_value("Website Route", {"ref_doctype": self.doc.doctype, "docname": self.doc.name}) opts = frappe._dict({ @@ -74,7 +74,7 @@ class WebsiteGenerator(DocListController): "page_name": page_name, "link_name": self._website_config.name, "lastmod": frappe.utils.get_datetime(self.doc.modified).strftime("%Y-%m-%d"), - "parent_website_sitemap": self.get_parent_website_sitemap(), + "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 })