Add indexing icons, rename links for clarity

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2019-04-23 23:51:28 -04:00
parent 25ad5c1420
commit b766f85995
5 changed files with 125 additions and 82 deletions

View File

@@ -28,12 +28,12 @@ from .html_widgets import (
get_instance_link, index_instance_item_link, node_level get_instance_link, index_instance_item_link, node_level
) )
from .links import ( from .links import (
link_document_index_list, link_index_main_menu, link_index_setup, link_document_index_instance_list, link_index_instance_menu, link_index_template_setup,
link_index_setup_create, link_index_setup_document_types, link_index_template_create, link_index_template_document_types,
link_index_setup_delete, link_index_setup_edit, link_index_setup_list, link_index_template_delete, link_index_template_edit, link_index_template_list,
link_index_setup_view, link_rebuild_index_instances, link_index_template_node_tree_view, link_index_instances_rebuild,
link_template_node_create, link_template_node_delete, link_index_template_node_create, link_index_template_node_delete,
link_template_node_edit link_index_template_node_edit
) )
from .licenses import * # NOQA from .licenses import * # NOQA
from .permissions import ( from .permissions import (
@@ -182,35 +182,35 @@ class DocumentIndexingApp(MayanAppConfig):
) )
menu_facet.bind_links( menu_facet.bind_links(
links=(link_document_index_list,), sources=(Document,) links=(link_document_index_instance_list,), sources=(Document,)
) )
menu_list_facet.bind_links( menu_list_facet.bind_links(
links=( links=(
link_acl_list, link_index_setup_document_types, link_acl_list, link_index_template_document_types,
link_index_setup_view, link_index_template_node_tree_view,
), sources=(Index,) ), sources=(Index,)
) )
menu_object.bind_links( menu_object.bind_links(
links=( links=(
link_index_setup_delete, link_index_setup_edit, link_index_template_delete, link_index_template_edit,
), sources=(Index,) ), sources=(Index,)
) )
menu_object.bind_links( menu_object.bind_links(
links=( links=(
link_template_node_create, link_template_node_edit, link_index_template_node_create, link_index_template_node_edit,
link_template_node_delete link_index_template_node_delete
), sources=(IndexTemplateNode,) ), 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( menu_secondary.bind_links(
links=(link_index_setup_list, link_index_setup_create), links=(link_index_template_list, link_index_template_create),
sources=( sources=(
Index, 'indexing:index_setup_list', Index, 'indexing:index_setup_list',
'indexing:index_setup_create' 'indexing:index_setup_create'
) )
) )
menu_setup.bind_links(links=(link_index_setup,)) menu_setup.bind_links(links=(link_index_template_setup,))
menu_tools.bind_links(links=(link_rebuild_index_instances,)) menu_tools.bind_links(links=(link_index_instances_rebuild,))
post_delete.connect( post_delete.connect(
dispatch_uid='document_indexing_handler_delete_empty', dispatch_uid='document_indexing_handler_delete_empty',

View File

@@ -4,7 +4,9 @@ from django.apps import apps
from django.utils.encoding import force_text from django.utils.encoding import force_text
from django.utils.html import mark_safe, escape 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): 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 isinstance(index_instance_item, IndexInstanceNode):
if index_instance_item.index_template_node.link_documents: if index_instance_item.index_template_node.link_documents:
icon = icon_node_with_documents.render() icon = icon_index_instance_node_with_documents.render()
else: else:
icon = icon_index_level_up.render() icon = icon_index_level_up.render()
else: else:
@@ -68,7 +70,7 @@ def node_tree(node, user):
else: else:
element = ancestor element = ancestor
if element.index_template_node.link_documents: if element.index_template_node.link_documents:
icon = icon_node_with_documents icon = icon_index_instance_node_with_documents
else: else:
icon = icon_index_level_up icon = icon_index_level_up

View File

@@ -1,14 +1,44 @@
from __future__ import absolute_import, unicode_literals from __future__ import absolute_import, unicode_literals
from mayan.apps.appearance.classes import Icon 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( icon_index_level_up = Icon(
driver_name='fontawesomecss', css_classes='fa-level-up-alt fa-rotate-90' 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_index_instance_node_with_documents = Icon(
icon_node_with_documents = Icon(driver_name='fontawesome', symbol='folder') driver_name='fontawesome', symbol='folder'
icon_rebuild_index_instances = Icon( )
icon_index_instances_rebuild = Icon(
driver_name='fontawesome', symbol='list-ul' 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'
)

View File

@@ -4,10 +4,6 @@ from django.utils.translation import ugettext_lazy as _
from mayan.apps.navigation import Link, get_cascade_condition 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 ( from .permissions import (
permission_document_indexing_create, permission_document_indexing_edit, permission_document_indexing_create, permission_document_indexing_edit,
permission_document_indexing_delete, permission_document_indexing_delete,
@@ -20,72 +16,87 @@ def is_not_root_node(context):
return not context['resolved_object'].is_root_node() return not context['resolved_object'].is_root_node()
link_document_index_list = Link( link_document_index_instance_list = Link(
args='resolved_object.pk', icon_class=icon_document_index_list, args='resolved_object.pk',
icon_class_path='mayan.apps.document_indexing.icons.icon_document_index_instance_list',
text=_('Indexes'), view='indexing:document_index_list', text=_('Indexes'), view='indexing:document_index_list',
) )
link_index_main_menu = Link(
link_index_instance_menu = Link(
condition=get_cascade_condition( condition=get_cascade_condition(
app_label='document_indexing', model_name='Index', app_label='document_indexing', model_name='Index',
object_permission=permission_document_indexing_instance_view, object_permission=permission_document_indexing_instance_view,
), icon_class=icon_index, text=_('Indexes'), ), icon_class_path='mayan.apps.document_indexing.icons.icon_index',
view='indexing:index_list' text=_('Indexes'), view='indexing:index_list'
) )
link_index_setup = Link( link_index_instances_rebuild = 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(
condition=get_cascade_condition( condition=get_cascade_condition(
app_label='document_indexing', model_name='Index', app_label='document_indexing', model_name='Index',
object_permission=permission_document_indexing_rebuild, 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=_( description=_(
'Deletes and creates from scratch all the document indexes.' 'Deletes and creates from scratch all the document indexes.'
), ),
text=_('Rebuild indexes'), view='indexing:rebuild_index_instances' 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', view='indexing:template_node_create',
) )
link_template_node_edit = Link( link_index_template_node_delete = Link(
args='resolved_object.pk', condition=is_not_root_node, text=_('Edit'), 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', 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',
)

View File

@@ -19,7 +19,7 @@ from mayan.apps.documents.views import DocumentListView
from .forms import IndexTemplateFilteredForm, IndexTemplateNodeForm from .forms import IndexTemplateFilteredForm, IndexTemplateNodeForm
from .html_widgets import node_tree from .html_widgets import node_tree
from .icons import icon_index from .icons import icon_index
from .links import link_index_setup_create from .links import link_index_template_create
from .models import ( from .models import (
DocumentIndexInstanceNode, Index, IndexInstance, IndexInstanceNode, DocumentIndexInstanceNode, Index, IndexInstance, IndexInstanceNode,
IndexTemplateNode IndexTemplateNode
@@ -81,7 +81,7 @@ class SetupIndexListView(SingleObjectListView):
return { return {
'hide_object': True, 'hide_object': True,
'no_results_icon': icon_index, '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) context=RequestContext(request=self.request)
), ),
'no_results_text': _( 'no_results_text': _(
@@ -247,7 +247,7 @@ class IndexListView(SingleObjectListView):
return { return {
'hide_links': True, 'hide_links': True,
'no_results_icon': icon_index, '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) context=RequestContext(request=self.request)
), ),
'no_results_text': _( 'no_results_text': _(