fix: add option for People entry in the Admin menu
This commit is contained in:
parent
352afc1e22
commit
5c06353fa3
|
@ -142,11 +142,22 @@ class MenuHandler(GenericHandler):
|
|||
The return value for this method should be a *single* dict,
|
||||
which will ultimately be one element of the final list of
|
||||
dicts as described in :class:`MenuHandler`.
|
||||
|
||||
:param include_people: You can pass this flag to indicate the
|
||||
admin menu should contain an entry for the "People" view.
|
||||
"""
|
||||
return {
|
||||
'title': "Admin",
|
||||
'type': 'menu',
|
||||
'items': [
|
||||
items = []
|
||||
|
||||
if kwargs.get('include_people'):
|
||||
items.extend([
|
||||
{
|
||||
'title': "All People",
|
||||
'route': 'people',
|
||||
'perm': 'people.list',
|
||||
},
|
||||
])
|
||||
|
||||
items.extend([
|
||||
{
|
||||
'title': "Users",
|
||||
'route': 'users',
|
||||
|
@ -173,7 +184,12 @@ class MenuHandler(GenericHandler):
|
|||
'route': 'upgrades',
|
||||
'perm': 'upgrades.list',
|
||||
},
|
||||
],
|
||||
])
|
||||
|
||||
return {
|
||||
'title': "Admin",
|
||||
'type': 'menu',
|
||||
'items': items,
|
||||
}
|
||||
|
||||
##############################
|
||||
|
|
|
@ -14,8 +14,17 @@ class TestMenuHandler(WebTestCase):
|
|||
self.handler = mod.MenuHandler(self.config)
|
||||
|
||||
def test_make_admin_menu(self):
|
||||
menus = self.handler.make_admin_menu(self.request)
|
||||
self.assertIsInstance(menus, dict)
|
||||
|
||||
# no people entry by default
|
||||
menu = self.handler.make_admin_menu(self.request)
|
||||
self.assertIsInstance(menu, dict)
|
||||
routes = [item.get('route') for item in menu['items']]
|
||||
self.assertNotIn('people', routes)
|
||||
|
||||
# but we can request it
|
||||
menu = self.handler.make_admin_menu(self.request, include_people=True)
|
||||
routes = [item.get('route') for item in menu['items']]
|
||||
self.assertIn('people', routes)
|
||||
|
||||
def test_make_menus(self):
|
||||
menus = self.handler.make_menus(self.request)
|
||||
|
|
Loading…
Reference in a new issue