summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne@peacefrogs.net>2019-08-22 07:46:56 +0200
committerÉtienne Loks <etienne@peacefrogs.net>2019-08-22 07:46:56 +0200
commita5b675c6be3960faf24b6313b3a945373e7c7480 (patch)
treefe5c841dcee24b7df160a20286a2d73418f4e2fc
parent08ced77fb1fcb29c41c1e7075f57453addd867db (diff)
downloadishtar-pergamon-a5b675c6be3960faf24b6313b3a945373e7c7480.tar.bz2
ishtar-pergamon-a5b675c6be3960faf24b6313b3a945373e7c7480.zip
Fix logo and menu management for subpages
-rw-r--r--home/models.py20
-rw-r--r--ishtar_public/templates/base.html6
2 files changed, 21 insertions, 5 deletions
diff --git a/home/models.py b/home/models.py
index 7eabfba..89a7a60 100644
--- a/home/models.py
+++ b/home/models.py
@@ -24,10 +24,26 @@ class BasePage(Page):
class Meta:
abstract = True
+ def get_homepage(self):
+ page = self
+ while page:
+ if hasattr(page, "homepage"):
+ return page.homepage
+ page = self.get_parent()
+
+ def get_logo(self):
+ if hasattr(self, 'logo'):
+ return self.logo
+ homepage = self.get_homepage()
+ if homepage:
+ return homepage.homepage.get_logo()
+
def get_context(self, request):
context = super().get_context(request)
- context['menu_items'] = self.get_children().filter(
- show_in_menus=True).live().order_by('pk')
+ homepage = self.get_homepage()
+ if homepage:
+ context['menu_items'] = homepage.get_children().filter(
+ show_in_menus=True).live().order_by('pk')
return context
diff --git a/ishtar_public/templates/base.html b/ishtar_public/templates/base.html
index 460a36c..95aee80 100644
--- a/ishtar_public/templates/base.html
+++ b/ishtar_public/templates/base.html
@@ -27,10 +27,10 @@
{% wagtailuserbar %}
{% block header %}
- <header><nav class="navbar navbar-expand-lg navbar-dark bg-primary{% if page.logo %} navlogo{% endif %}">
+ <header><nav class="navbar navbar-expand-lg navbar-dark bg-primary{% if page.get_logo %} navlogo{% endif %}">
<a class="navbar-brand" href="#">
- {% if page.logo %}
- {% image page.logo height-50 %}
+ {% if page.get_logo %}
+ {% image page.get_logo height-50 %}
{% else %}
{% trans "No organization name" as no_organization_msg %}
{{ page.organization|default:no_organization_msg }}