From b9df7dc3e2ce1ee954d6bef9b8316f4391c8a734 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 25 Aug 2014 16:25:26 +0530 Subject: [PATCH] [website] fix add sidebar --- frappe/templates/includes/static_index.html | 2 +- frappe/website/website_generator.py | 28 +++++++++++++-------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/frappe/templates/includes/static_index.html b/frappe/templates/includes/static_index.html index 3e61c69b12..dff735a3f2 100644 --- a/frappe/templates/includes/static_index.html +++ b/frappe/templates/includes/static_index.html @@ -2,7 +2,7 @@
    - {% for item in items[1:] %} + {% for item in items %}
  • {{ loop.index }}.
    diff --git a/frappe/website/website_generator.py b/frappe/website/website_generator.py index 8cc5e3dea5..0db57269ae 100644 --- a/frappe/website/website_generator.py +++ b/frappe/website/website_generator.py @@ -156,22 +156,30 @@ class WebsiteGenerator(Document): order by idx""", as_dict=True) if self.meta.get_field("parent_website_route"): - children = frappe.db.sql("""select name, page_name, - parent_website_route, {title_field} as title from `tab{doctype}` - where ifnull(parent_website_route,'')=%s - order by {order_by}""".format( - doctype = self.doctype, - title_field = getattr(self, "page_title_field", "name"), - order_by = getattr(self, "order_by", "idx asc")), - self.get_route(), as_dict=True) + children = self.get_children_of(self.get_route()) - for c in children: - c.name = make_route(c) + if not children and self.parent_website_route: + children = self.get_children_of(self.parent_website_route) return children else: return [] + def get_children_of(self, route): + children = frappe.db.sql("""select name, page_name, + parent_website_route, {title_field} as title from `tab{doctype}` + where ifnull(parent_website_route,'')=%s + order by {order_by}""".format( + doctype = self.doctype, + title_field = getattr(self, "page_title_field", "name"), + order_by = getattr(self, "order_by", "idx asc")), + route, as_dict=True) + + for c in children: + c.name = make_route(c) + + return children + def get_next(self): if self.meta.get_field("parent_website_route") and self.parent_website_route: route = self.get_route()