diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-03-23 18:50:31 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-03-23 18:50:31 +0100 |
commit | 5107a6f5fe55c7fc3aed52022be8830636b62a96 (patch) | |
tree | 0b99ce280d1fce637104893dff47681e2034c2a9 /ishtar_common | |
parent | f946c8911109a6695b11ef5f2702a0f66f0b3113 (diff) | |
download | Ishtar-5107a6f5fe55c7fc3aed52022be8830636b62a96.tar.bz2 Ishtar-5107a6f5fe55c7fc3aed52022be8830636b62a96.zip |
UI: use the url to detect the current action (more accurate) (refs #3357)
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/context_processors.py | 3 | ||||
-rw-r--r-- | ishtar_common/templates/base.html | 15 |
2 files changed, 11 insertions, 7 deletions
diff --git a/ishtar_common/context_processors.py b/ishtar_common/context_processors.py index 8e14d8506..5050d667e 100644 --- a/ishtar_common/context_processors.py +++ b/ishtar_common/context_processors.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2010-2013 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2010-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -44,6 +44,7 @@ def get_base_context(request): if 'CURRENT_ACTION' in request.session: dct['CURRENT_ACTION'] = request.session['CURRENT_ACTION'] current_action = dct['CURRENT_ACTION'] + dct['CURRENT_PATH'] = request.path menu = Menu(request.user, current_action=current_action, session=request.session) menu.init() diff --git a/ishtar_common/templates/base.html b/ishtar_common/templates/base.html index 614a83595..b20cb1ccb 100644 --- a/ishtar_common/templates/base.html +++ b/ishtar_common/templates/base.html @@ -90,15 +90,18 @@ <li id='section-{{section.idx}}'{% if section.css %} class="{{section.css}}"{% endif %}> {{section.label}} <ul> - {% for menu_item in section.childs %}{%if menu_item.available%} - {% if menu_item.childs %}<li id='subsection-{{menu_item.idx}}'{% if menu_item.css %} class="{{menu_item.css}}"{% endif %}>{{menu_item.label}} + {% for menu_item in section.childs %}{%if menu_item.available%} + {% if menu_item.childs %}<li id='subsection-{{menu_item.idx}}'{% if menu_item.css %} class="{{menu_item.css}}"{% endif %}>{{menu_item.label}} <ul> - {% for menu_subitem in menu_item.childs %}{%if menu_subitem.available%} - <li id='{{menu_subitem.idx}}'{% ifequal menu_subitem.idx CURRENT_ACTION %} class='selected'{% endifequal %}><a href='{% url "action" menu_subitem.idx%}'>{{menu_subitem.label}}</a></li> + {% for menu_subitem in menu_item.childs %}{% if menu_subitem.available %} + {% url 'action' menu_subitem.idx as item_url %} + <li id='{{menu_subitem.idx}}'{% if item_url in CURRENT_PATH %} class='selected'{% endif %}><a + href='{{item_url}}'>{{menu_subitem.label}}</a></li> {%endif%}{% endfor %}</ul></li> - {%else%} + {% else %} + {% url 'action' menu_item.idx as item_url %} <li id='{{menu_item.idx}}' - class="{% ifequal menu_item.idx CURRENT_ACTION %}selected{% endifequal %} {% if menu_item.css %}{{menu_item.css}}{% endif %}"><a href="{% url 'action' menu_item.idx%}">{{menu_item.label}}</a></li> + class="{% if item_url in CURRENT_PATH %}selected{% endif %} {% if menu_item.css %}{{menu_item.css}}{% endif %}"><a href="{{item_url}}">{{menu_item.label}}</a></li> {%endif%}{% endif %}{% endfor %} </ul> </li>{%endif%} |