From aef72da8dd3a453a0ba851590574023889925df0 Mon Sep 17 00:00:00 2001 From: Thomas NOEL Date: Mon, 6 Feb 2017 15:26:33 +0100 Subject: [PATCH] add portal agent first level page on sidebar (#11039) --- combo/apps/publik/views.py | 13 +++++++++++++ data/themes/gadjo/static/js/agent-portal.js | 4 ---- data/themes/gadjo/static/js/publik.js | 23 +++++++++++++++++++++-- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/combo/apps/publik/views.py b/combo/apps/publik/views.py index 8c0baba..cf2638e 100644 --- a/combo/apps/publik/views.py +++ b/combo/apps/publik/views.py @@ -19,12 +19,15 @@ import json from django.conf import settings from django.http import Http404, HttpResponse +from combo.data.models import Page + def services_js(request, *args, **kwargs): if not getattr(settings, 'KNOWN_SERVICES', None): raise Http404() services = [] portal_agent_url = None portal_agent_title = None + portal_agent_subpages = [] for service_id, services_dict in settings.KNOWN_SERVICES.items(): for service_slug, service in services_dict.items(): if service.get('secondary') and service_id != 'authentic': @@ -32,6 +35,15 @@ def services_js(request, *args, **kwargs): if service.get('is-portal-agent'): portal_agent_url = service['url'] portal_agent_title = service['title'] + portal_agent_subpages = [{ # subpages = first level pages + 'label': page.title, + 'slug': page.slug, + 'url': request.build_absolute_uri(page.get_online_url()) + } for page in Page.objects.filter( + parent=None, + exclude_from_navigation=False).exclude(slug='index') + if page.is_visible(request.user) + ] services.append({ 'title': service['title'], 'slug': service_slug, @@ -44,6 +56,7 @@ def services_js(request, *args, **kwargs): 'PUBLIK_ENVIRONMENT_LABEL': settings.TEMPLATE_VARS.get('environment_label'), 'PUBLIK_PORTAL_AGENT_URL': portal_agent_url, 'PUBLIK_PORTAL_AGENT_TITLE': portal_agent_title, + 'PUBLIK_PORTAL_AGENT_SUBPAGES': portal_agent_subpages, 'PUBLIK_PORTAL_AGENT_EXTRA_CSS': settings.TEMPLATE_VARS.get( 'portal_agent_extra_css'), 'COMBO_KNOWN_SERVICES': services, diff --git a/data/themes/gadjo/static/js/agent-portal.js b/data/themes/gadjo/static/js/agent-portal.js index 6ba1b74..132b5a2 100644 --- a/data/themes/gadjo/static/js/agent-portal.js +++ b/data/themes/gadjo/static/js/agent-portal.js @@ -26,8 +26,4 @@ $(function() { }); }); }); - $(document).on('publik:menu-loaded', function(event, services) { - /* mark our location in publik menu */ - $('#portal-agent-home').addClass('active'); - }); }); diff --git a/data/themes/gadjo/static/js/publik.js b/data/themes/gadjo/static/js/publik.js index 06c06c6..c15ac42 100644 --- a/data/themes/gadjo/static/js/publik.js +++ b/data/themes/gadjo/static/js/publik.js @@ -23,8 +23,27 @@ $(function() { $('#sidepage-menu').remove(); var menu_links = $('