[#7972] auto-expand admin section of left sidebar, when on admin page
diff --git a/Allura/allura/templates/jinja_master/sidebar_menu.html b/Allura/allura/templates/jinja_master/sidebar_menu.html
index af70a48..3d9ab06 100644
--- a/Allura/allura/templates/jinja_master/sidebar_menu.html
+++ b/Allura/allura/templates/jinja_master/sidebar_menu.html
@@ -61,10 +61,11 @@
{% set admin_menu = c.app.admin_menu() %}
{% endif %}
{% if admin_menu %}
- <a id='sidebar-admin-header' onclick='$("#sidebar-admin-menu").toggleClass("hidden");$("#sidebar-admin-header").toggleClass("expanded");return false;' href='#'>
+ <a id='sidebar-admin-header' onclick='$("#sidebar-admin-menu").toggleClass("hidden");$("#sidebar-admin-header").toggleClass("expanded");return false;'
+ href='#' {% if request.path.startswith(c.app.admin_url) %}class="expanded"{% endif %}>
{{sidebar_item(c.app.admin_menu_collapse_button)}}
</a>
- <div id='sidebar-admin-menu' class='hidden'>
+ <div id='sidebar-admin-menu' {% if not request.path.startswith(c.app.admin_url) %}class='hidden'{% endif %}>
{% for s in admin_menu %}
{{sidebar_item(s)}}
{% endfor %}
diff --git a/ForgeWiki/forgewiki/tests/functional/test_root.py b/ForgeWiki/forgewiki/tests/functional/test_root.py
index a42bce6..608045b 100644
--- a/ForgeWiki/forgewiki/tests/functional/test_root.py
+++ b/ForgeWiki/forgewiki/tests/functional/test_root.py
@@ -23,7 +23,7 @@
import json
import PIL
-from nose.tools import assert_true, assert_equal, assert_in, assert_not_equal
+from nose.tools import assert_true, assert_equal, assert_in, assert_not_equal, assert_not_in
from ming.orm.ormsession import ThreadLocalORMSession
from mock import patch
from tg import config
@@ -823,11 +823,17 @@
def test_sidebar_admin_menu(self):
r = self.app.get('/p/test/wiki/Home/')
menu = r.html.find('div', {'id': 'sidebar-admin-menu'})
+ assert_equal(menu.attrMap['class'], 'hidden') # (not expanded)
menu = [li.find('span').getText() for li in menu.findAll('li')]
assert_equal(
menu,
['Set Home', 'Permissions', 'Options', 'Label', 'Delete'])
+ def test_sidebar_admin_menu_is_expanded(self):
+ r = self.app.get('/p/test/admin/wiki/permissions')
+ menu = r.html.find('div', {'id': 'sidebar-admin-menu'})
+ assert_not_in('hidden', menu.attrMap.get('class', '')) # expanded
+
def test_sidebar_admin_menu_invisible_to_not_admin(self):
def assert_invisible_for(username):
env = {'username': username}