diff --git a/webnotes/webutils.py b/webnotes/webutils.py index 7f7d381086..e0e06d4f4b 100644 --- a/webnotes/webutils.py +++ b/webnotes/webutils.py @@ -20,6 +20,11 @@ def render(page_name): html = render_page(page_name or "index") except PageNotFoundError: html = render_page("404") + except webnotes.DoesNotExistError: + if page_name=="index": + html = render_page("login") + else: + html = render_page("404") except Exception: html = render_page("error") @@ -218,9 +223,9 @@ class WebsiteGenerator(object): def on_update(self, page_name=None): self.setup_generator() if self._website_config.condition_field: - if not self.doc.fields[self._website_config.condition_field]: + if not self.doc.fields.get(self._website_config.condition_field): # condition field failed, return - remove_page(self.doc.fields[self._website_config.page_name_field]) + remove_page(self.doc.fields.get(self._website_config.page_name_field)) return if not page_name: diff --git a/website/doctype/website_settings/website_settings.py b/website/doctype/website_settings/website_settings.py index 34f0b72cf0..367d3b30d3 100644 --- a/website/doctype/website_settings/website_settings.py +++ b/website/doctype/website_settings/website_settings.py @@ -10,7 +10,6 @@ class DocType: self.doc, self.doclist = d, dl def validate(self): - self.set_home_page() self.validate_top_bar_items() self.validate_footer_items() @@ -59,6 +58,8 @@ class DocType: def on_update(self): # make js and css # clear web cache (for menus!) + self.set_home_page() + from webnotes.webutils import clear_cache clear_cache() diff --git a/website/doctype/website_sitemap/website_sitemap.py b/website/doctype/website_sitemap/website_sitemap.py index 4194735578..ad2b77bf96 100644 --- a/website/doctype/website_sitemap/website_sitemap.py +++ b/website/doctype/website_sitemap/website_sitemap.py @@ -19,4 +19,3 @@ def add_to_sitemap(options): doc.name = doc.page_name doc.website_sitemap_config = options.link_name doc.insert() - webnotes.conn.commit() diff --git a/website/doctype/website_sitemap_config/website_sitemap_config.py b/website/doctype/website_sitemap_config/website_sitemap_config.py index 08f584fa5c..63511d3bc7 100644 --- a/website/doctype/website_sitemap_config/website_sitemap_config.py +++ b/website/doctype/website_sitemap_config/website_sitemap_config.py @@ -34,7 +34,6 @@ import os, time def rebuild_website_sitemap_config(): webnotes.conn.sql("""delete from `tabWebsite Sitemap Config`""") webnotes.conn.sql("""delete from `tabWebsite Sitemap`""") - webnotes.conn.commit() build_website_sitemap_config() def build_website_sitemap_config(): @@ -67,7 +66,9 @@ def build_website_sitemap_config(): for name in existing_configs: webnotes.delete_doc("Website Sitemap Config", name) - + + webnotes.conn.commit() + def add_website_sitemap_config(page_or_generator, path, fname, existing_configs): basepath = webnotes.utils.get_base_path() template_path = os.path.relpath(os.path.join(path, fname), basepath) @@ -105,6 +106,5 @@ def add_website_sitemap_config(page_or_generator, path, fname, existing_configs) wsc.condition_field = getattr(module, "condition_field", None) webnotes.bean(wsc).insert() - webnotes.conn.commit() return name