Further navigation highlight improvements
This commit is contained in:
@@ -20,7 +20,10 @@ index_list = {'text': _(u'index list'), 'view': 'index_instance_list', 'famfam':
|
||||
index_parent = {'text': _(u'go up one level'), 'view': 'index_instance_list', 'args': 'object.parent.pk', 'famfam': 'arrow_up', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW], 'dont_mark_active': True}
|
||||
document_index_list = {'text': _(u'indexes'), 'view': 'document_index_list', 'args': 'object.pk', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW, PERMISSION_DOCUMENT_VIEW]}
|
||||
|
||||
register_top_menu('indexes', link={'text': _('indexes'), 'famfam': 'folder_page', 'view': 'index_instance_list'}, children_path_regex=[r'^document_indexing'], position=10)
|
||||
#register_top_menu('indexes', link={'text': _('indexes'), 'famfam': 'folder_page', 'view': 'index_instance_list'}, children_path_regex=[r'^document_indexing', r'^(^document_indexing/list/for/document)'], position=10)
|
||||
register_top_menu('indexes', link={'text': _('indexes'), 'famfam': 'folder_page', 'view': 'index_instance_list'}, position=10)
|
||||
#format_regex = re.compile(' *([A-Z0-9]+)[*]? +([A-Z0-9]+) +([rw\-+]+) *(.*).*')
|
||||
|
||||
|
||||
rebuild_index_instances = {'text': _('rebuild indexes'), 'view': 'rebuild_index_instances', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES], 'description': _(u'Deletes and creates from scratch all the document indexes.')}
|
||||
|
||||
|
||||
@@ -189,6 +189,7 @@ register_top_menu(
|
||||
children_path_regex=[
|
||||
r'^documents/[^t]', r'^metadata/[^s]', r'comments', r'tags/document', r'grouping/[^s]', r'history/list/for_object/documents'
|
||||
],
|
||||
children_views=['document_folder_list', 'folder_add_document', 'document_index_list'],
|
||||
position=0
|
||||
)
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ folder_delete = {'text': _('delete'), 'view': 'folder_delete', 'args': 'object.p
|
||||
folder_document_multiple_remove = {'text': _('remove from folder'), 'view': 'folder_document_multiple_remove', 'args': 'object.pk', 'famfam': 'delete'}
|
||||
folder_view = {'text': _(u'folder documents'), 'view': 'folder_view', 'args': 'object.pk', 'famfam': 'folder_go'}
|
||||
folder_add_document = {'text': _('add to a folder'), 'view': 'folder_add_document', 'args': 'object.pk', 'famfam': 'add'}
|
||||
document_folder_list = {'text': _(u'folders'), 'view': 'document_folder_list', 'args': 'object.pk', 'famfam': 'folder_user', 'permissions': [PERMISSION_DOCUMENT_VIEW], 'children_view_regex': ['folder']}
|
||||
document_folder_list = {'text': _(u'folders'), 'view': 'document_folder_list', 'args': 'object.pk', 'famfam': 'folder_user', 'permissions': [PERMISSION_DOCUMENT_VIEW], 'children_view_regex': [r'folder']}
|
||||
|
||||
register_multi_item_links(['folder_view'], [folder_document_multiple_remove])
|
||||
|
||||
@@ -23,7 +23,7 @@ register_links(Folder, [folder_view, folder_edit, folder_delete])
|
||||
|
||||
register_links(['folder_edit', 'folder_delete', 'folder_list', 'folder_create', 'folder_view', 'folder_document_multiple_remove'], [folder_list, folder_create], menu_name='secondary_menu')
|
||||
|
||||
register_top_menu(name='folders', link={'text': _('folders'), 'famfam': 'folder_user', 'view': 'folder_list'}, children_path_regex=[r'^folders/'])
|
||||
register_top_menu(name='folders', link={'text': _('folders'), 'famfam': 'folder_user', 'view': 'folder_list'}, children_views=['folder_list', 'folder_create', 'folder_edit', 'folder_delete', 'folder_view', 'folder_document_multiple_remove'])
|
||||
|
||||
register_links(Document, [document_folder_list], menu_name='form_header')
|
||||
|
||||
|
||||
@@ -44,7 +44,8 @@ def register_links(src, links, menu_name=None, position=None):
|
||||
object_navigation[menu_name][src]['links'].extend(links)
|
||||
|
||||
|
||||
def register_top_menu(name, link, children_views=None, children_path_regex=None, position=None):
|
||||
def register_top_menu(name, link, children_views=None, \
|
||||
children_path_regex=None, children_view_regex=None, position=None):
|
||||
"""
|
||||
Register a new menu entry for the main menu displayed at the top
|
||||
of the page
|
||||
@@ -55,6 +56,8 @@ def register_top_menu(name, link, children_views=None, children_path_regex=None,
|
||||
entry['children_views'] = children_views
|
||||
if children_path_regex:
|
||||
entry['children_path_regex'] = children_path_regex
|
||||
if children_view_regex:
|
||||
entry['children_view_regex'] = children_view_regex
|
||||
if position is not None:
|
||||
top_menu_entries.insert(position, entry)
|
||||
else:
|
||||
|
||||
@@ -28,14 +28,16 @@ class TopMenuNavigationNode(Node):
|
||||
menu_links = resolve_links(context, all_menu_links, current_view, current_path)
|
||||
|
||||
for index, link in enumerate(top_menu_entries):
|
||||
children_views = link.get('children_views', [])
|
||||
if current_view in children_views:
|
||||
if current_view in link.get('children_views', []):
|
||||
menu_links[index]['active'] = True
|
||||
|
||||
children_path_regex = link.get('children_path_regex', [])
|
||||
for child_path_regex in children_path_regex:
|
||||
for child_path_regex in link.get('children_path_regex', []):
|
||||
if re.compile(child_path_regex).match(current_path.lstrip('/')):
|
||||
menu_links[index]['active'] = True
|
||||
|
||||
for children_view_regex in link.get('children_view_regex', []):
|
||||
if re.compile(children_view_regex).match(children_view_regex):
|
||||
menu_links[index]['active'] = True
|
||||
|
||||
context['menu_links'] = menu_links
|
||||
return ''
|
||||
|
||||
Reference in New Issue
Block a user