Initial commit of the new class based and menu based navigation system

This commit is contained in:
Roberto Rosario
2015-04-03 07:09:51 -04:00
parent 192069462f
commit 0246068cd0
27 changed files with 399 additions and 485 deletions

View File

@@ -4,18 +4,19 @@ from django import apps
from django.db.models.signals import post_save, post_delete
from django.utils.translation import ugettext_lazy as _
from common.menus import menu_main
from documents.models import Document
from main.api import register_maintenance_links
from metadata.models import DocumentMetadata
from navigation.api import register_links, register_top_menu
from navigation.api import register_links
from project_setup.api import register_setup
from rest_api.classes import APIEndPoint
from .links import (
document_index_list, document_index_main_menu_link, index_parent,
document_index_list, link_index_main_menu, index_parent,
index_setup, index_setup_create, index_setup_document_types,
index_setup_delete, index_setup_edit, index_setup_list, index_setup_view,
rebuild_index_instances, template_node_create, template_node_delete,
link_rebuild_index_instances, template_node_create, template_node_delete,
template_node_edit
)
from .models import Index, IndexTemplateNode, IndexInstanceNode
@@ -43,7 +44,7 @@ class DocumentIndexingApp(apps.AppConfig):
post_save.connect(document_metadata_index_update, dispatch_uid='document_metadata_index_update', sender=DocumentMetadata)
post_delete.connect(document_metadata_index_post_delete, dispatch_uid='document_metadata_index_post_delete', sender=DocumentMetadata)
register_maintenance_links([rebuild_index_instances], namespace='document_indexing', title=_('Indexes'))
register_maintenance_links([link_rebuild_index_instances], namespace='document_indexing', title=_('Indexes'))
register_links(Document, [document_index_list], menu_name='form_header')
register_links([Index, 'indexing:index_setup_list', 'indexing:index_setup_create'], [index_setup_list, index_setup_create], menu_name='secondary_menu')
@@ -53,6 +54,6 @@ class DocumentIndexingApp(apps.AppConfig):
register_setup(index_setup)
register_top_menu('indexes', document_index_main_menu_link)
menu_main.bind_links(links=[link_index_main_menu])
APIEndPoint('indexes', app_name='document_indexing')

View File

@@ -3,6 +3,7 @@ from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
from documents.permissions import PERMISSION_DOCUMENT_VIEW
from navigation import Link
from .permissions import (
PERMISSION_DOCUMENT_INDEXING_CREATE, PERMISSION_DOCUMENT_INDEXING_EDIT,
@@ -20,6 +21,8 @@ def is_not_root_node(context):
return not context['node'].is_root_node()
link_index_main_menu = Link(icon='fa fa-sitemap', text=_('Indexes'), view='indexing:index_list')
index_setup = {'text': _('Indexes'), 'view': 'indexing:index_setup_list', 'icon': 'fa fa-sitemap', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}
index_setup_list = {'text': _('Indexes'), 'view': 'indexing:index_setup_list', 'famfam': 'tab', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}
index_setup_create = {'text': _('Create index'), 'view': 'indexing:index_setup_create', 'famfam': 'tab_add', 'permissions': [PERMISSION_DOCUMENT_INDEXING_CREATE]}
@@ -37,6 +40,9 @@ index_list = {'text': _('Index list'), 'view': 'indexing:index_list', 'famfam':
index_parent = {'text': _('Go up one level'), 'view': 'indexing:index_instance_node_view', 'args': 'object.parent.pk', 'famfam': 'arrow_up', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW], 'dont_mark_active': True, 'condition': is_not_instance_root_node}
document_index_list = {'text': _('Indexes'), 'view': 'indexing:document_index_list', 'args': 'object.pk', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW, PERMISSION_DOCUMENT_VIEW]}
document_index_main_menu_link = {'text': _('Indexes'), 'icon': 'fa fa-sitemap', 'view': 'indexing:index_list'}
rebuild_index_instances = {'text': _('Rebuild indexes'), 'view': 'indexing:rebuild_index_instances', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES], 'description': _('Deletes and creates from scratch all the document indexes.')}
# Maintenance
link_rebuild_index_instances = Link(
permissions=[PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES],
description=_('Deletes and creates from scratch all the document indexes.'),
text=_('Rebuild indexes'), view='indexing:rebuild_index_instances'
)