diff --git a/mayan/apps/document_indexing/apps.py b/mayan/apps/document_indexing/apps.py index bf9a021e1f..1713e67933 100644 --- a/mayan/apps/document_indexing/apps.py +++ b/mayan/apps/document_indexing/apps.py @@ -28,12 +28,12 @@ from .html_widgets import ( get_instance_link, index_instance_item_link, node_level ) from .links import ( - link_document_index_list, link_index_main_menu, link_index_setup, - link_index_setup_create, link_index_setup_document_types, - link_index_setup_delete, link_index_setup_edit, link_index_setup_list, - link_index_setup_view, link_rebuild_index_instances, - link_template_node_create, link_template_node_delete, - link_template_node_edit + link_document_index_instance_list, link_index_instance_menu, link_index_template_setup, + link_index_template_create, link_index_template_document_types, + link_index_template_delete, link_index_template_edit, link_index_template_list, + link_index_template_node_tree_view, link_index_instances_rebuild, + link_index_template_node_create, link_index_template_node_delete, + link_index_template_node_edit ) from .licenses import * # NOQA from .permissions import ( @@ -182,35 +182,35 @@ class DocumentIndexingApp(MayanAppConfig): ) menu_facet.bind_links( - links=(link_document_index_list,), sources=(Document,) + links=(link_document_index_instance_list,), sources=(Document,) ) menu_list_facet.bind_links( links=( - link_acl_list, link_index_setup_document_types, - link_index_setup_view, + link_acl_list, link_index_template_document_types, + link_index_template_node_tree_view, ), sources=(Index,) ) menu_object.bind_links( links=( - link_index_setup_delete, link_index_setup_edit, + link_index_template_delete, link_index_template_edit, ), sources=(Index,) ) menu_object.bind_links( links=( - link_template_node_create, link_template_node_edit, - link_template_node_delete + link_index_template_node_create, link_index_template_node_edit, + link_index_template_node_delete ), sources=(IndexTemplateNode,) ) - menu_main.bind_links(links=(link_index_main_menu,), position=98) + menu_main.bind_links(links=(link_index_instance_menu,), position=98) menu_secondary.bind_links( - links=(link_index_setup_list, link_index_setup_create), + links=(link_index_template_list, link_index_template_create), sources=( Index, 'indexing:index_setup_list', 'indexing:index_setup_create' ) ) - menu_setup.bind_links(links=(link_index_setup,)) - menu_tools.bind_links(links=(link_rebuild_index_instances,)) + menu_setup.bind_links(links=(link_index_template_setup,)) + menu_tools.bind_links(links=(link_index_instances_rebuild,)) post_delete.connect( dispatch_uid='document_indexing_handler_delete_empty', diff --git a/mayan/apps/document_indexing/html_widgets.py b/mayan/apps/document_indexing/html_widgets.py index da2fb21c5d..bdaa1ba37c 100644 --- a/mayan/apps/document_indexing/html_widgets.py +++ b/mayan/apps/document_indexing/html_widgets.py @@ -4,7 +4,9 @@ from django.apps import apps from django.utils.encoding import force_text from django.utils.html import mark_safe, escape -from .icons import icon_index, icon_index_level_up, icon_node_with_documents +from .icons import ( + icon_index, icon_index_level_up, icon_index_instance_node_with_documents +) def get_instance_link(index_instance_node): @@ -26,7 +28,7 @@ def index_instance_item_link(index_instance_item): if isinstance(index_instance_item, IndexInstanceNode): if index_instance_item.index_template_node.link_documents: - icon = icon_node_with_documents.render() + icon = icon_index_instance_node_with_documents.render() else: icon = icon_index_level_up.render() else: @@ -68,7 +70,7 @@ def node_tree(node, user): else: element = ancestor if element.index_template_node.link_documents: - icon = icon_node_with_documents + icon = icon_index_instance_node_with_documents else: icon = icon_index_level_up diff --git a/mayan/apps/document_indexing/icons.py b/mayan/apps/document_indexing/icons.py index ac7d0586db..af432bfa5f 100644 --- a/mayan/apps/document_indexing/icons.py +++ b/mayan/apps/document_indexing/icons.py @@ -1,14 +1,44 @@ from __future__ import absolute_import, unicode_literals from mayan.apps.appearance.classes import Icon +from mayan.apps.documents.icons import icon_document_type -icon_document_index_list = Icon(driver_name='fontawesome', symbol='list-ul') +icon_document_index_instance_list = Icon( + driver_name='fontawesome', symbol='list-ul' +) +icon_index = Icon(driver_name='fontawesome', symbol='list-ul') icon_index_level_up = Icon( driver_name='fontawesomecss', css_classes='fa-level-up-alt fa-rotate-90' ) -icon_index = Icon(driver_name='fontawesome', symbol='list-ul') -icon_index_create = Icon(driver_name='fontawesome', symbol='plus') -icon_node_with_documents = Icon(driver_name='fontawesome', symbol='folder') -icon_rebuild_index_instances = Icon( + +icon_index_instance_node_with_documents = Icon( + driver_name='fontawesome', symbol='folder' +) +icon_index_instances_rebuild = Icon( driver_name='fontawesome', symbol='list-ul' ) + +icon_index_template_create = Icon( + driver_name='fontawesome-dual', primary_symbol='list-ul', + secondary_symbol='plus' +) +icon_index_template_delete = Icon(driver_name='fontawesome', symbol='times') +icon_index_template_document_types = icon_document_type +icon_index_template_edit = Icon(driver_name='fontawesome', symbol='pencil-alt') +icon_index_template_list = Icon(driver_name='fontawesome', symbol='list-ul') + +icon_index_template_node_create = Icon( + driver_name='fontawesome', symbol='plus' +) + + +icon_index_template_node_delete = Icon( + driver_name='fontawesome', symbol='times' +) +icon_index_template_node_edit = Icon( + driver_name='fontawesome', symbol='pencil-alt' +) + +icon_index_template_node_tree_view = Icon( + driver_name='fontawesome', symbol='folder-open' +) diff --git a/mayan/apps/document_indexing/links.py b/mayan/apps/document_indexing/links.py index 62aea68467..4d6277d3f2 100644 --- a/mayan/apps/document_indexing/links.py +++ b/mayan/apps/document_indexing/links.py @@ -4,10 +4,6 @@ from django.utils.translation import ugettext_lazy as _ from mayan.apps.navigation import Link, get_cascade_condition -from .icons import ( - icon_document_index_list, icon_index, icon_index_create, - icon_rebuild_index_instances, -) from .permissions import ( permission_document_indexing_create, permission_document_indexing_edit, permission_document_indexing_delete, @@ -20,72 +16,87 @@ def is_not_root_node(context): return not context['resolved_object'].is_root_node() -link_document_index_list = Link( - args='resolved_object.pk', icon_class=icon_document_index_list, +link_document_index_instance_list = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_indexing.icons.icon_document_index_instance_list', text=_('Indexes'), view='indexing:document_index_list', ) -link_index_main_menu = Link( + +link_index_instance_menu = Link( condition=get_cascade_condition( app_label='document_indexing', model_name='Index', object_permission=permission_document_indexing_instance_view, - ), icon_class=icon_index, text=_('Indexes'), - view='indexing:index_list' + ), icon_class_path='mayan.apps.document_indexing.icons.icon_index', + text=_('Indexes'), view='indexing:index_list' ) -link_index_setup = Link( - condition=get_cascade_condition( - app_label='document_indexing', model_name='Index', - object_permission=permission_document_indexing_view, - view_permission=permission_document_indexing_create, - ), icon_class=icon_index, text=_('Indexes'), - view='indexing:index_setup_list' -) -link_index_setup_list = Link( - text=_('Indexes'), view='indexing:index_setup_list' -) -link_index_setup_create = Link( - icon_class=icon_index_create, - permissions=(permission_document_indexing_create,), text=_('Create index'), - view='indexing:index_setup_create' -) -link_index_setup_edit = Link( - args='resolved_object.pk', - permissions=(permission_document_indexing_edit,), text=_('Edit'), - view='indexing:index_setup_edit', -) -link_index_setup_delete = Link( - args='resolved_object.pk', - permissions=(permission_document_indexing_delete,), tags='dangerous', - text=_('Delete'), view='indexing:index_setup_delete', -) -link_index_setup_view = Link( - args='resolved_object.pk', - permissions=(permission_document_indexing_edit,), text=_('Tree template'), - view='indexing:index_setup_view', -) -link_index_setup_document_types = Link( - args='resolved_object.pk', - permissions=(permission_document_indexing_edit,), text=_('Document types'), - view='indexing:index_setup_document_types', -) -link_rebuild_index_instances = Link( +link_index_instances_rebuild = Link( condition=get_cascade_condition( app_label='document_indexing', model_name='Index', object_permission=permission_document_indexing_rebuild, - ), icon_class=icon_rebuild_index_instances, + ), + icon_class_path='mayan.apps.document_indexing.icons.icon_index_instances_rebuild', description=_( 'Deletes and creates from scratch all the document indexes.' ), text=_('Rebuild indexes'), view='indexing:rebuild_index_instances' ) -link_template_node_create = Link( - args='resolved_object.pk', text=_('New child node'), + +link_index_template_setup = Link( + condition=get_cascade_condition( + app_label='document_indexing', model_name='Index', + object_permission=permission_document_indexing_view, + view_permission=permission_document_indexing_create, + ), icon_class_path='mayan.apps.document_indexing.icons.icon_index', + text=_('Indexes'), view='indexing:index_setup_list' +) +link_index_template_list = Link( + icon_class_path='mayan.apps.document_indexing.icons.icon_index_template_list', + text=_('Indexes'), view='indexing:index_setup_list' +) +link_index_template_create = Link( + icon_class_path='mayan.apps.document_indexing.icons.icon_index_template_create', + permissions=(permission_document_indexing_create,), text=_('Create index'), + view='indexing:index_setup_create' +) +link_index_template_delete = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_indexing.icons.icon_index_template_delete', + permissions=(permission_document_indexing_delete,), tags='dangerous', + text=_('Delete'), view='indexing:index_setup_delete', +) +link_index_template_document_types = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_indexing.icons.icon_index_template_document_types', + permissions=(permission_document_indexing_edit,), text=_('Document types'), + view='indexing:index_setup_document_types', +) +link_index_template_edit = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_indexing.icons.icon_index_template_edit', + permissions=(permission_document_indexing_edit,), text=_('Edit'), + view='indexing:index_setup_edit', +) + +link_index_template_node_tree_view = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_indexing.icons.icon_index_template_node_tree_view', + permissions=(permission_document_indexing_edit,), text=_('Tree template'), + view='indexing:index_setup_view', +) +link_index_template_node_create = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_indexing.icons.icon_index_template_node_create', + text=_('New child node'), view='indexing:template_node_create', ) -link_template_node_edit = Link( - args='resolved_object.pk', condition=is_not_root_node, text=_('Edit'), +link_index_template_node_delete = Link( + args='resolved_object.pk', condition=is_not_root_node, + icon_class_path='mayan.apps.document_indexing.icons.icon_index_template_node_delete', + tags='dangerous', text=_('Delete'), view='indexing:template_node_delete', +) +link_index_template_node_edit = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_indexing.icons.icon_index_template_node_edit', + condition=is_not_root_node, text=_('Edit'), view='indexing:template_node_edit', ) -link_template_node_delete = Link( - args='resolved_object.pk', condition=is_not_root_node, tags='dangerous', - text=_('Delete'), view='indexing:template_node_delete', -) diff --git a/mayan/apps/document_indexing/views.py b/mayan/apps/document_indexing/views.py index a9dfb6b865..64889e9560 100644 --- a/mayan/apps/document_indexing/views.py +++ b/mayan/apps/document_indexing/views.py @@ -19,7 +19,7 @@ from mayan.apps.documents.views import DocumentListView from .forms import IndexTemplateFilteredForm, IndexTemplateNodeForm from .html_widgets import node_tree from .icons import icon_index -from .links import link_index_setup_create +from .links import link_index_template_create from .models import ( DocumentIndexInstanceNode, Index, IndexInstance, IndexInstanceNode, IndexTemplateNode @@ -81,7 +81,7 @@ class SetupIndexListView(SingleObjectListView): return { 'hide_object': True, 'no_results_icon': icon_index, - 'no_results_main_link': link_index_setup_create.resolve( + 'no_results_main_link': link_index_template_create.resolve( context=RequestContext(request=self.request) ), 'no_results_text': _( @@ -247,7 +247,7 @@ class IndexListView(SingleObjectListView): return { 'hide_links': True, 'no_results_icon': icon_index, - 'no_results_main_link': link_index_setup_create.resolve( + 'no_results_main_link': link_index_template_create.resolve( context=RequestContext(request=self.request) ), 'no_results_text': _(