Updated register_maintenance_links to support more than one link per app
This commit is contained in:
@@ -14,9 +14,10 @@ def register_diagnostic(namespace, title, link):
|
||||
diagnostics[namespace] = namespace_dict
|
||||
|
||||
|
||||
def register_maintenance(link, title=None, namespace=None):
|
||||
def register_maintenance_links(links, title=None, namespace=None):
|
||||
namespace_dict = tools.get(namespace, {'title': None, 'links': []})
|
||||
namespace_dict['title'] = title
|
||||
for link in links:
|
||||
link['url'] = link.get('url', reverse_lazy(link['view']))
|
||||
namespace_dict['links'].append(link)
|
||||
tools[namespace] = namespace_dict
|
||||
|
||||
@@ -24,14 +24,14 @@ def home(request):
|
||||
def maintenance_menu(request):
|
||||
user_tools = {}
|
||||
for namespace, values in tools.items():
|
||||
for link in values['links']:
|
||||
try:
|
||||
permissions = link.get('permissions', [])
|
||||
check_permissions(request.user, permissions)
|
||||
user_tools[namespace] = {
|
||||
'title': values['title']
|
||||
}
|
||||
user_tools[namespace].setdefault('links', [])
|
||||
for link in values['links']:
|
||||
try:
|
||||
permissions = link.get('permissions', [])
|
||||
check_permissions(request.user, permissions)
|
||||
user_tools[namespace]['links'].append(link)
|
||||
except PermissionDenied:
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user