diff --git a/mayan/apps/document_signatures/apps.py b/mayan/apps/document_signatures/apps.py index b7bade53ae..af62bf1784 100644 --- a/mayan/apps/document_signatures/apps.py +++ b/mayan/apps/document_signatures/apps.py @@ -18,7 +18,7 @@ from mayan.celery import app from .handlers import unverify_key_signatures, verify_key_signatures from .links import ( - link_all_document_version_signature_verify, + link_document_version_all_signature_verify, link_document_signature_list, link_document_version_signature_delete, link_document_version_signature_detached_create, @@ -154,7 +154,7 @@ class DocumentSignaturesApp(MayanAppConfig): ), sources=(DocumentVersion,) ) menu_tools.bind_links( - links=(link_all_document_version_signature_verify,) + links=(link_document_version_all_signature_verify,) ) post_delete.connect( diff --git a/mayan/apps/document_signatures/icons.py b/mayan/apps/document_signatures/icons.py index 9e61eb1a25..ff762d5d8e 100644 --- a/mayan/apps/document_signatures/icons.py +++ b/mayan/apps/document_signatures/icons.py @@ -2,12 +2,33 @@ from __future__ import absolute_import, unicode_literals from mayan.apps.appearance.classes import Icon -icon_all_document_version_signature_verify = Icon( - driver_name='fontawesome', symbol='certificate' +icon_document_version_all_signature_verify = Icon( + driver_name='fontawesome', symbol='file-signature' ) icon_document_signature_list = Icon( - driver_name='fontawesome', symbol='certificate' + driver_name='fontawesome', symbol='file-signature' ) icon_document_version_signature_list = Icon( - driver_name='fontawesome', symbol='certificate' + driver_name='fontawesome', symbol='file-signature' ) + +icon_document_version_signature_delete = Icon( + driver_name='fontawesome', symbol='times' +) +icon_document_version_signature_details = Icon( + driver_name='fontawesome', symbol='file-signature' +) + +icon_document_version_signature_detached_create = Icon( + driver_name='fontawesome', symbol='file-signature' +) +icon_document_version_signature_embedded_create = Icon( + driver_name='fontawesome', symbol='file-signature' +) +icon_document_version_signature_list = Icon( + driver_name='fontawesome', symbol='file-signature' +) +icon_document_version_signature_upload = Icon( + driver_name='fontawesome', symbol='upload' +) + diff --git a/mayan/apps/document_signatures/links.py b/mayan/apps/document_signatures/links.py index 8700766a19..1d0cadb26a 100644 --- a/mayan/apps/document_signatures/links.py +++ b/mayan/apps/document_signatures/links.py @@ -5,10 +5,6 @@ from django.utils.translation import ugettext_lazy as _ from mayan.apps.navigation import Link -from .icons import ( - icon_all_document_version_signature_verify, icon_document_signature_list, - icon_document_version_signature_list -) from .permissions import ( permission_document_version_sign_detached, permission_document_version_sign_embedded, @@ -30,33 +26,35 @@ def is_detached_signature(context): ).is_detached -link_all_document_version_signature_verify = Link( - icon_class=icon_all_document_version_signature_verify, +link_document_version_all_signature_verify = Link( + icon_class_path='mayan.apps.document_signatures.icons.icon_document_version_all_signature_verify', permissions=(permission_document_version_signature_verify,), text=_('Verify all documents'), view='signatures:all_document_version_signature_verify', ) link_document_signature_list = Link( args='resolved_object.latest_version.pk', - icon_class=icon_document_signature_list, + icon_class_path='mayan.apps.document_signatures.icons.icon_document_signature_list', permissions=(permission_document_version_signature_view,), text=_('Signatures'), view='signatures:document_version_signature_list', ) link_document_version_signature_delete = Link( args='resolved_object.pk', condition=is_detached_signature, + icon_class_path='mayan.apps.document_signatures.icons.icon_document_version_signature_delete', permissions=(permission_document_version_signature_delete,), permissions_related='document_version.document', tags='dangerous', text=_('Delete'), view='signatures:document_version_signature_delete', ) link_document_version_signature_details = Link( args='resolved_object.pk', + icon_class_path='mayan.apps.document_signatures.icons.icon_document_version_signature_details', permissions=(permission_document_version_signature_view,), permissions_related='document_version.document', text=_('Details'), view='signatures:document_version_signature_details', ) link_document_version_signature_list = Link( args='resolved_object.pk', - icon_class=icon_document_version_signature_list, + icon_class_path='mayan.apps.document_signatures.icons.icon_document_version_signature_list', permissions=(permission_document_version_signature_view,), permissions_related='document', text=_('Signatures'), view='signatures:document_version_signature_list', @@ -69,18 +67,21 @@ link_document_version_signature_download = Link( ) link_document_version_signature_upload = Link( args='resolved_object.pk', + icon_class_path='mayan.apps.document_signatures.icons.icon_document_version_signature_upload', permissions=(permission_document_version_signature_upload,), permissions_related='document', text=_('Upload signature'), view='signatures:document_version_signature_upload', ) link_document_version_signature_detached_create = Link( args='resolved_object.pk', + icon_class_path='mayan.apps.document_signatures.icons.icon_document_version_signature_detached_create', permissions=(permission_document_version_sign_detached,), permissions_related='document', text=_('Sign detached'), view='signatures:document_version_signature_detached_create', ) link_document_version_signature_embedded_create = Link( args='resolved_object.pk', + icon_class_path='mayan.apps.document_signatures.icons.icon_document_version_signature_embedded_create', permissions=(permission_document_version_sign_embedded,), permissions_related='document', text=_('Sign embedded'), view='signatures:document_version_signature_embedded_create', diff --git a/mayan/apps/document_states/apps.py b/mayan/apps/document_states/apps.py index ffdffbd7b1..ae6b8751e5 100644 --- a/mayan/apps/document_states/apps.py +++ b/mayan/apps/document_states/apps.py @@ -37,10 +37,10 @@ from .links import ( link_setup_workflow_transition_create, link_setup_workflow_transition_delete, link_setup_workflow_transition_edit, link_tool_launch_all_workflows, link_workflow_instance_detail, - link_workflow_instance_transition, link_workflow_document_list, - link_workflow_list, link_workflow_preview, - link_workflow_state_document_list, link_workflow_state_list, - link_workflow_instance_transition_events + link_workflow_instance_transition, link_workflow_runtime_proxy_document_list, + link_workflow_runtime_proxy_list, link_workflow_preview, + link_workflow_runtime_proxy_state_document_list, link_workflow_runtime_proxy_state_list, + link_workflow_transition_events ) from .permissions import ( permission_workflow_delete, permission_workflow_edit, @@ -269,7 +269,7 @@ class DocumentStatesApp(MayanAppConfig): link_workflow_preview, link_acl_list ), sources=(Workflow,) ) - menu_main.bind_links(links=(link_workflow_list,), position=10) + menu_main.bind_links(links=(link_workflow_runtime_proxy_list,), position=10) menu_object.bind_links( links=( link_setup_workflow_delete, link_setup_workflow_edit @@ -285,7 +285,7 @@ class DocumentStatesApp(MayanAppConfig): menu_object.bind_links( links=( link_setup_workflow_transition_edit, - link_workflow_instance_transition_events, link_acl_list, + link_workflow_transition_events, link_acl_list, link_setup_workflow_transition_delete ), sources=(WorkflowTransition,) ) @@ -298,13 +298,13 @@ class DocumentStatesApp(MayanAppConfig): menu_list_facet.bind_links( links=( - link_workflow_document_list, - link_workflow_state_list, + link_workflow_runtime_proxy_document_list, + link_workflow_runtime_proxy_state_list, ), sources=(WorkflowRuntimeProxy,) ) menu_list_facet.bind_links( links=( - link_workflow_state_document_list, + link_workflow_runtime_proxy_state_document_list, ), sources=(WorkflowStateRuntimeProxy,) ) menu_object.bind_links( @@ -323,7 +323,7 @@ class DocumentStatesApp(MayanAppConfig): ) ) menu_secondary.bind_links( - links=(link_workflow_list,), + links=(link_workflow_runtime_proxy_list,), sources=( WorkflowRuntimeProxy, ) diff --git a/mayan/apps/document_states/icons.py b/mayan/apps/document_states/icons.py index 238105d50e..b0d836a433 100644 --- a/mayan/apps/document_states/icons.py +++ b/mayan/apps/document_states/icons.py @@ -1,6 +1,7 @@ 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_workflow_instance_list = Icon( driver_name='fontawesome', symbol='sitemap' @@ -10,17 +11,66 @@ icon_tool_launch_all_workflows = Icon( driver_name='fontawesome', symbol='sitemap' ) icon_workflow_create = Icon( - driver_name='fontawesome', symbol='plus' + driver_name='fontawesome-dual', primary_symbol='sitemap', + secondary_symbol='plus' ) -icon_workflow_list = Icon( +icon_workflow_delete = Icon(driver_name='fontawesome', symbol='times') +icon_workflow_document_type_list = icon_document_type +icon_workflow_edit = Icon(driver_name='fontawesome', symbol='pencil-alt') +icon_workflow_list = Icon(driver_name='fontawesome', symbol='sitemap') +icon_workflow_preview = Icon(driver_name='fontawesome', symbol='eye') + + +icon_workflow_instance_detail = Icon(driver_name='fontawesome', symbol='sitemap') +icon_workflow_instance_transition = Icon( + driver_name='fontawesome', symbol='arrows-alt-h' +) + +icon_workflow_runtime_proxy_document_list = icon_document_type +icon_workflow_runtime_proxy_list = Icon( driver_name='fontawesome', symbol='sitemap' ) -icon_workflow_state = Icon( +icon_workflow_runtime_proxy_state_document_list = icon_document_type +icon_workflow_runtime_proxy_state_list = Icon( driver_name='fontawesome', symbol='circle' ) -icon_workflow_state_action = Icon( + +icon_workflow_state_action_delete = Icon( + driver_name='fontawesome', symbol='times' +) +icon_workflow_state_action_edit = Icon( + driver_name='fontawesome', symbol='pencil-alt' +) +icon_workflow_state_action_list = Icon( driver_name='fontawesome', symbol='code' ) +icon_workflow_state = Icon(driver_name='fontawesome', symbol='circle') +icon_workflow_state_create = Icon( + driver_name='fontawesome-dual', primary_symbol='circle', + secondary_symbol='plus' +) +icon_workflow_state_delete = Icon(driver_name='fontawesome', symbol='times') +icon_workflow_state_edit = Icon(driver_name='fontawesome', symbol='pencil-alt') + +icon_workflow_state_action = Icon(driver_name='fontawesome', symbol='code') +icon_workflow_state_action_delete = Icon(driver_name='fontawesome', symbol='times') +icon_workflow_state_action_edit = Icon(driver_name='fontawesome', symbol='pencil-alt') +icon_workflow_state_action_selection = Icon( + driver_name='fontawesome-dual', primary_symbol='code', + secondary_symbol='plus' +) +icon_workflow_state_action_list = Icon(driver_name='fontawesome', symbol='code') icon_workflow_transition = Icon( driver_name='fontawesome', symbol='arrows-alt-h' ) +icon_workflow_transition_create = Icon( + driver_name='fontawesome-dual', primary_symbol='arrows-alt-h', + secondary_symbol='plus' +) +icon_workflow_transition_delete = Icon(driver_name='fontawesome', symbol='times') +icon_workflow_transition_edit = Icon( + driver_name='fontawesome', symbol='pencil-alt' +) +icon_workflow_transition_triggers = Icon( + driver_name='fontawesome', symbol='bolt' +) diff --git a/mayan/apps/document_states/links.py b/mayan/apps/document_states/links.py index d57fa71e30..986d640b0e 100644 --- a/mayan/apps/document_states/links.py +++ b/mayan/apps/document_states/links.py @@ -4,66 +4,70 @@ from django.utils.translation import ugettext_lazy as _ from mayan.apps.navigation import Link -from .icons import ( - icon_document_workflow_instance_list, icon_setup_workflow_list, - icon_tool_launch_all_workflows, icon_workflow_create, icon_workflow_list, - icon_workflow_state, icon_workflow_state_action, icon_workflow_transition -) from .permissions import ( permission_workflow_create, permission_workflow_delete, permission_workflow_edit, permission_workflow_tools, permission_workflow_view, ) -link_document_workflow_instance_list = Link( - args='resolved_object.pk', icon_class=icon_document_workflow_instance_list, - permissions=(permission_workflow_view,), text=_('Workflows'), - view='document_states:document_workflow_instance_list', -) link_setup_workflow_create = Link( - icon_class=icon_workflow_create, permissions=(permission_workflow_create,), + icon_class_path='mayan.apps.document_states.icons.icon_workflow_create', + permissions=(permission_workflow_create,), text=_('Create workflow'), view='document_states:setup_workflow_create' ) link_setup_workflow_delete = Link( - args='resolved_object.pk', permissions=(permission_workflow_delete,), + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_delete', + permissions=(permission_workflow_delete,), tags='dangerous', text=_('Delete'), view='document_states:setup_workflow_delete', ) link_setup_workflow_document_types = Link( args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_document_type_list', permissions=(permission_workflow_edit,), text=_('Document types'), view='document_states:setup_workflow_document_types', ) link_setup_workflow_edit = Link( - args='resolved_object.pk', permissions=(permission_workflow_edit,), + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_edit', + permissions=(permission_workflow_edit,), text=_('Edit'), view='document_states:setup_workflow_edit', ) link_setup_workflow_list = Link( - icon_class=icon_setup_workflow_list, + icon_class_path='mayan.apps.document_states.icons.icon_setup_workflow_list', permissions=(permission_workflow_view,), text=_('Workflows'), view='document_states:setup_workflow_list' ) link_setup_workflow_state_action_delete = Link( - args='resolved_object.pk', permissions=(permission_workflow_edit,), + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_state_action_delete', + permissions=(permission_workflow_edit,), tags='dangerous', text=_('Delete'), view='document_states:setup_workflow_state_action_delete', ) link_setup_workflow_state_action_edit = Link( - args='resolved_object.pk', permissions=(permission_workflow_edit,), + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_state_action_edit', + permissions=(permission_workflow_edit,), text=_('Edit'), view='document_states:setup_workflow_state_action_edit', ) link_setup_workflow_state_action_list = Link( - args='resolved_object.pk', permissions=(permission_workflow_edit,), + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_state_action_list', + permissions=(permission_workflow_edit,), text=_('Actions'), view='document_states:setup_workflow_state_action_list', ) link_setup_workflow_state_action_selection = Link( - args='resolved_object.pk', icon_class=icon_workflow_state_action, + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_state_action', permissions=(permission_workflow_edit,), text=_('Create action'), view='document_states:setup_workflow_state_action_selection', ) link_setup_workflow_state_create = Link( - args='resolved_object.pk', icon_class=icon_workflow_state, + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_state', permissions=(permission_workflow_edit,), text=_('Create state'), view='document_states:setup_workflow_state_create', ) @@ -77,12 +81,14 @@ link_setup_workflow_state_edit = Link( text=_('Edit'), view='document_states:setup_workflow_state_edit', ) link_setup_workflow_states = Link( - args='resolved_object.pk', icon_class=icon_workflow_state, + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_state', permissions=(permission_workflow_view,), text=_('States'), view='document_states:setup_workflow_state_list', ) link_setup_workflow_transition_create = Link( - args='resolved_object.pk', icon_class=icon_workflow_transition, + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_transition', permissions=(permission_workflow_edit,), text=_('Create transition'), view='document_states:setup_workflow_transition_create', ) @@ -96,48 +102,72 @@ link_setup_workflow_transition_edit = Link( text=_('Edit'), view='document_states:setup_workflow_transition_edit', ) link_setup_workflow_transitions = Link( - args='resolved_object.pk', icon_class=icon_workflow_transition, + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_transition', permissions=(permission_workflow_view,), text=_('Transitions'), view='document_states:setup_workflow_transition_list', ) -link_tool_launch_all_workflows = Link( - icon_class=icon_tool_launch_all_workflows, - permissions=(permission_workflow_tools,), - text=_('Launch all workflows'), - view='document_states:tool_launch_all_workflows' -) -link_workflow_instance_detail = Link( - args='resolved_object.pk', permissions=(permission_workflow_view,), - text=_('Detail'), view='document_states:workflow_instance_detail', -) -link_workflow_instance_transition = Link( - args='resolved_object.pk', text=_('Transition'), - view='document_states:workflow_instance_transition', -) -link_workflow_document_list = Link( - args='resolved_object.pk', permissions=(permission_workflow_view,), - text=_('Workflow documents'), - view='document_states:workflow_document_list', -) -link_workflow_list = Link( - icon_class=icon_workflow_list, permissions=(permission_workflow_view,), - text=_('Workflows'), view='document_states:workflow_list' -) -link_workflow_state_document_list = Link( - args='resolved_object.pk', permissions=(permission_workflow_view,), - text=_('State documents'), - view='document_states:workflow_state_document_list', -) -link_workflow_state_list = Link( - args='resolved_object.pk', permissions=(permission_workflow_view,), - text=_('States'), view='document_states:workflow_state_list', -) -link_workflow_instance_transition_events = Link( +link_workflow_transition_events = Link( args='resolved_object.pk', permissions=(permission_workflow_edit,), text=_('Transition triggers'), view='document_states:setup_workflow_transition_events' ) link_workflow_preview = Link( - args='resolved_object.pk', permissions=(permission_workflow_view,), + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_preview', + permissions=(permission_workflow_view,), text=_('Preview'), view='document_states:workflow_preview' ) +link_tool_launch_all_workflows = Link( + icon_class_path='mayan.apps.document_states.icons.icon_tool_launch_all_workflows', + permissions=(permission_workflow_tools,), + text=_('Launch all workflows'), + view='document_states:tool_launch_all_workflows' +) + +# Document workflow instances +link_document_workflow_instance_list = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_document_workflow_instance_list', + permissions=(permission_workflow_view,), text=_('Workflows'), + view='document_states:document_workflow_instance_list', +) +link_workflow_instance_detail = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_instance_detail', + permissions=(permission_workflow_view,), + text=_('Detail'), view='document_states:workflow_instance_detail', +) +link_workflow_instance_transition = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_instance_transition', + text=_('Transition'), + view='document_states:workflow_instance_transition', +) + +# Runtime proxies +link_workflow_runtime_proxy_document_list = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_runtime_proxy_document_list', + permissions=(permission_workflow_view,), + text=_('Workflow documents'), + view='document_states:workflow_document_list', +) +link_workflow_runtime_proxy_list = Link( + icon_class_path='mayan.apps.document_states.icons.icon_workflow_runtime_proxy_list', + permissions=(permission_workflow_view,), + text=_('Workflows'), view='document_states:workflow_list' +) +link_workflow_runtime_proxy_state_document_list = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_runtime_proxy_state_document_list', + permissions=(permission_workflow_view,), + text=_('State documents'), + view='document_states:workflow_state_document_list', +) +link_workflow_runtime_proxy_state_list = Link( + args='resolved_object.pk', + icon_class_path='mayan.apps.document_states.icons.icon_workflow_runtime_proxy_state_list', + permissions=(permission_workflow_view,), + text=_('States'), view='document_states:workflow_state_list', +) diff --git a/mayan/apps/documents/apps.py b/mayan/apps/documents/apps.py index 722de215c8..b6d2825b55 100644 --- a/mayan/apps/documents/apps.py +++ b/mayan/apps/documents/apps.py @@ -307,15 +307,16 @@ class DocumentsApp(MayanAppConfig): ) # DocumentVersion + SourceColumn( + source=DocumentVersion, attribute='timestamp', is_identifier=True, + is_absolute_url=True + ) SourceColumn( source=DocumentVersion, label=_('Thumbnail'), func=lambda context: document_page_thumbnail_widget.render( instance=context['object'] ) ) - SourceColumn( - source=DocumentVersion, attribute='timestamp' - ) SourceColumn( source=DocumentVersion, label=_('Pages'), func=lambda context: widget_document_version_page_number( @@ -591,7 +592,7 @@ class DocumentsApp(MayanAppConfig): link_document_version_return_list ), sources=(DocumentVersion,) ) - menu_facet.bind_links( + menu_list_facet.bind_links( links=(link_document_version_view,), sources=(DocumentVersion,) ) diff --git a/mayan/apps/documents/icons.py b/mayan/apps/documents/icons.py index b03d17e2bf..2625b1ee72 100644 --- a/mayan/apps/documents/icons.py +++ b/mayan/apps/documents/icons.py @@ -154,6 +154,9 @@ icon_document_version_return_list = Icon( icon_document_version_view = Icon( driver_name='fontawesome', symbol='eye' ) +icon_document_version_revert = Icon( + driver_name='fontawesome', symbol='undo' +) icon_duplicated_document_list = Icon( driver_name='fontawesome', symbol='clone' diff --git a/mayan/apps/documents/links.py b/mayan/apps/documents/links.py index db230dfde1..be4efb1a1f 100644 --- a/mayan/apps/documents/links.py +++ b/mayan/apps/documents/links.py @@ -336,10 +336,12 @@ link_document_page_rotate_right = Link( text=_('Rotate right'), view='documents:document_page_rotate_right', ) link_document_page_view = Link( + icon_class_path='mayan.apps.documents.icons.icon_document_page_view', permissions=(permission_document_view,), text=_('Page image'), view='documents:document_page_view', args='resolved_object.pk' ) link_document_page_view_reset = Link( + icon_class_path='mayan.apps.documents.icons.icon_document_page_view_reset', permissions=(permission_document_view,), text=_('Reset view'), view='documents:document_page_view_reset', args='resolved_object.pk' ) @@ -359,6 +361,7 @@ link_document_page_zoom_out = Link( # Document versions link_document_version_revert = Link( args='object.pk', condition=is_not_current_version, + icon_class_path='mayan.apps.documents.icons.icon_document_version_revert', permissions=(permission_document_version_revert,), tags='dangerous', text=_('Revert'), view='documents:document_version_revert', ) diff --git a/mayan/apps/mailer/icons.py b/mayan/apps/mailer/icons.py index 86f56ea419..7cdedd1532 100644 --- a/mayan/apps/mailer/icons.py +++ b/mayan/apps/mailer/icons.py @@ -2,6 +2,18 @@ from __future__ import absolute_import, unicode_literals from mayan.apps.appearance.classes import Icon +icon_document_send = Icon( + driver_name='fontawesome', symbol='envelope' +) +icon_document_send_link = Icon( + driver_name='fontawesome', symbol='envelope' +) +icon_document_multiple_send = Icon( + driver_name='fontawesome', symbol='envelope' +) +icon_document_multiple_send_link = Icon( + driver_name='fontawesome', symbol='envelope' +) icon_mail_document_submit = Icon( driver_name='fontawesome', symbol='envelope' ) @@ -9,5 +21,8 @@ icon_system_mailer_error_log = Icon( driver_name='fontawesome', symbol='envelope' ) icon_user_mailer_create = Icon(driver_name='fontawesome', symbol='plus') +icon_user_mailer_delete = Icon(driver_name='fontawesome', symbol='times') +icon_user_mailer_edit = Icon(driver_name='fontawesome', symbol='pencil-alt') icon_user_mailer_list = Icon(driver_name='fontawesome', symbol='envelope') icon_user_mailer_setup = Icon(driver_name='fontawesome', symbol='envelope') +icon_user_mailer_test = Icon(driver_name='fontawesome', symbol='play') diff --git a/mayan/apps/mailer/links.py b/mayan/apps/mailer/links.py index 0db072ef4d..7f75fa2ee0 100644 --- a/mayan/apps/mailer/links.py +++ b/mayan/apps/mailer/links.py @@ -4,10 +4,6 @@ from django.utils.translation import ugettext_lazy as _ from mayan.apps.navigation import Link -from .icons import ( - icon_system_mailer_error_log, icon_user_mailer_create, - icon_user_mailer_list, icon_user_mailer_setup -) from .permissions import ( permission_mailing_link, permission_mailing_send_document, permission_user_mailer_create, permission_user_mailer_delete, @@ -16,35 +12,45 @@ from .permissions import ( ) link_send_document = Link( - args='resolved_object.pk', permissions=(permission_mailing_send_document,), + args='resolved_object.pk', + icon_class_path='mayan.apps.mailer.icons.icon_document_send', + permissions=(permission_mailing_send_document,), text=_('Email document'), view='mailer:send_document' ) link_send_document_link = Link( - args='resolved_object.pk', permissions=(permission_mailing_link,), + args='resolved_object.pk', + icon_class_path='mayan.apps.mailer.icons.icon_document_send_link', + permissions=(permission_mailing_link,), text=_('Email link'), view='mailer:send_document_link' ) link_send_multiple_document = Link( + icon_class_path='mayan.apps.mailer.icons.icon_document_send', text=_('Email document'), view='mailer:send_multiple_document' ) link_send_multiple_document_link = Link( + icon_class_path='mayan.apps.mailer.icons.icon_document_send_link', text=_('Email link'), view='mailer:send_multiple_document_link' ) link_system_mailer_error_log = Link( - icon_class=icon_system_mailer_error_log, + icon_class_path='mayan.apps.mailer.icons.icon_system_mailer_error_log', permissions=(permission_view_error_log,), text=_('System mailer error log'), view='mailer:system_mailer_error_log', ) link_user_mailer_create = Link( - icon_class=icon_user_mailer_create, + icon_class_path='mayan.apps.mailer.icons.icon_user_mailer_create', permissions=(permission_user_mailer_create,), text=_('User mailer create'), view='mailer:user_mailer_backend_selection', ) link_user_mailer_delete = Link( - args='resolved_object.pk', permissions=(permission_user_mailer_delete,), + args='resolved_object.pk', + icon_class_path='mayan.apps.mailer.icons.icon_user_mailer_delete', + permissions=(permission_user_mailer_delete,), tags='dangerous', text=_('Delete'), view='mailer:user_mailer_delete', ) link_user_mailer_edit = Link( - args='object.pk', permissions=(permission_user_mailer_edit,), + args='object.pk', + icon_class_path='mayan.apps.mailer.icons.icon_user_mailer_edit', + permissions=(permission_user_mailer_edit,), text=_('Edit'), view='mailer:user_mailer_edit', ) link_user_mailer_log_list = Link( @@ -52,16 +58,18 @@ link_user_mailer_log_list = Link( text=_('Log'), view='mailer:user_mailer_log', ) link_user_mailer_list = Link( - icon_class=icon_user_mailer_list, + icon_class_path='mayan.apps.mailer.icons.icon_user_mailer_list', permissions=(permission_user_mailer_view,), text=_('Mailing profiles list'), view='mailer:user_mailer_list', ) link_user_mailer_setup = Link( - icon_class=icon_user_mailer_setup, + icon_class_path='mayan.apps.mailer.icons.icon_user_mailer_setup', permissions=(permission_user_mailer_view,), text=_('Mailing profiles'), view='mailer:user_mailer_list', ) link_user_mailer_test = Link( - args='object.pk', permissions=(permission_user_mailer_use,), + args='object.pk', + icon_class_path='mayan.apps.mailer.icons.icon_user_mailer_test', + permissions=(permission_user_mailer_use,), text=_('Test'), view='mailer:user_mailer_test', ) diff --git a/mayan/apps/metadata/icons.py b/mayan/apps/metadata/icons.py index bd251472b0..96f28c2a8f 100644 --- a/mayan/apps/metadata/icons.py +++ b/mayan/apps/metadata/icons.py @@ -1,16 +1,41 @@ 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_metadata_add = Icon( - driver_name='fontawesome', symbol='plus' + driver_name='fontawesome-dual', primary_symbol='database', + secondary_symbol='plus' ) icon_document_metadata_edit = Icon( - driver_name='fontawesome', symbol='pencil-alt' + driver_name='fontawesome-dual', primary_symbol='database', + secondary_symbol='pen' ) icon_document_metadata_remove = Icon( - driver_name='fontawesome', symbol='minus' + driver_name='fontawesome-dual', primary_symbol='database', + secondary_symbol='minus' ) -icon_metadata = Icon(driver_name='fontawesome', symbol='pencil-alt') +icon_document_metadata_view = Icon( + driver_name='fontawesome', symbol='database' +) +icon_document_multiple_metadata_add = Icon( + driver_name='fontawesome-dual', primary_symbol='database', + secondary_symbol='plus' +) +icon_document_multiple_metadata_edit = Icon( + driver_name='fontawesome-dual', primary_symbol='database', + secondary_symbol='pen' +) +icon_document_multiple_metadata_remove = Icon( + driver_name='fontawesome-dual', primary_symbol='database', + secondary_symbol='minus' +) +icon_document_type_metadata_type_list = Icon( + driver_name='fontawesome', symbol='database' +) +icon_metadata = Icon(driver_name='fontawesome', symbol='database') icon_metadata_type_create = Icon(driver_name='fontawesome', symbol='plus') -icon_metadata_view = Icon(driver_name='fontawesome', symbol='pencil-alt') +icon_metadata_type_delete = Icon(driver_name='fontawesome', symbol='times') +icon_metadata_type_edit = Icon(driver_name='fontawesome', symbol='pencil-alt') +icon_metadata_type_list = Icon(driver_name='fontawesome', symbol='database') +icon_metadata_type_document_type_list = icon_document_type diff --git a/mayan/apps/metadata/links.py b/mayan/apps/metadata/links.py index 96d1e78847..e23e98b264 100644 --- a/mayan/apps/metadata/links.py +++ b/mayan/apps/metadata/links.py @@ -5,9 +5,6 @@ from django.utils.translation import ugettext_lazy as _ from mayan.apps.documents.permissions import permission_document_type_edit from mayan.apps.navigation import Link -from .icons import ( - icon_document_metadata_add, icon_metadata_view, icon_metadata_type_create -) from .permissions import ( permission_metadata_document_add, permission_metadata_document_edit, permission_metadata_document_remove, permission_metadata_document_view, @@ -16,54 +13,72 @@ from .permissions import ( ) link_metadata_add = Link( - args='object.pk', icon_class=icon_document_metadata_add, + args='object.pk', + icon_class_path='mayan.apps.metadata.icons.icon_document_metadata_add', permissions=(permission_metadata_document_add,), text=_('Add metadata'), view='metadata:metadata_add', ) link_metadata_edit = Link( - args='object.pk', permissions=(permission_metadata_document_edit,), + args='object.pk', + icon_class_path='mayan.apps.metadata.icons.icon_document_metadata_edit', + permissions=(permission_metadata_document_edit,), text=_('Edit metadata'), view='metadata:metadata_edit' ) link_metadata_multiple_add = Link( + icon_class_path='mayan.apps.metadata.icons.icon_document_metadata_add', text=_('Add metadata'), view='metadata:metadata_multiple_add' ) link_metadata_multiple_edit = Link( + icon_class_path='mayan.apps.metadata.icons.icon_document_metadata_edit', text=_('Edit metadata'), view='metadata:metadata_multiple_edit' ) link_metadata_multiple_remove = Link( + icon_class_path='mayan.apps.metadata.icons.icon_document_metadata_remove', text=_('Remove metadata'), view='metadata:metadata_multiple_remove' ) link_metadata_remove = Link( - args='object.pk', permissions=(permission_metadata_document_remove,), + args='object.pk', + icon_class_path='mayan.apps.metadata.icons.icon_document_metadata_remove', + permissions=(permission_metadata_document_remove,), text=_('Remove metadata'), view='metadata:metadata_remove', ) link_metadata_view = Link( - args='resolved_object.pk', icon_class=icon_metadata_view, + args='resolved_object.pk', + icon_class_path='mayan.apps.metadata.icons.icon_document_metadata_view', permissions=(permission_metadata_document_view,), text=_('Metadata'), view='metadata:metadata_view', ) link_setup_document_type_metadata_types = Link( - args='resolved_object.pk', permissions=(permission_document_type_edit,), + args='resolved_object.pk', + icon_class_path='mayan.apps.metadata.icons.icon_document_type_metadata_type_list', + permissions=(permission_document_type_edit,), text=_('Metadata types'), view='metadata:setup_document_type_metadata_types', ) link_setup_metadata_type_document_types = Link( - args='resolved_object.pk', permissions=(permission_document_type_edit,), + args='resolved_object.pk', + icon_class_path='mayan.apps.metadata.icons.icon_metadata_type_document_type_list', + permissions=(permission_document_type_edit,), text=_('Document types'), view='metadata:setup_metadata_type_document_types', ) link_setup_metadata_type_create = Link( - icon_class=icon_metadata_type_create, + icon_class_path='mayan.apps.metadata.icons.icon_metadata_type_create', permissions=(permission_metadata_type_create,), text=_('Create new'), view='metadata:setup_metadata_type_create' ) link_setup_metadata_type_delete = Link( - args='object.pk', permissions=(permission_metadata_type_delete,), + args='object.pk', + icon_class_path='mayan.apps.metadata.icons.icon_metadata_type_delete', + permissions=(permission_metadata_type_delete,), tags='dangerous', text=_('Delete'), view='metadata:setup_metadata_type_delete', ) link_setup_metadata_type_edit = Link( - args='object.pk', permissions=(permission_metadata_type_edit,), + args='object.pk', + icon_class_path='mayan.apps.metadata.icons.icon_metadata_type_edit', + permissions=(permission_metadata_type_edit,), text=_('Edit'), view='metadata:setup_metadata_type_edit' ) link_setup_metadata_type_list = Link( - icon_class=icon_metadata_view, permissions=(permission_metadata_type_view,), + icon_class_path='mayan.apps.metadata.icons.icon_metadata_type_list', + permissions=(permission_metadata_type_view,), text=_('Metadata types'), view='metadata:setup_metadata_type_list' ) diff --git a/mayan/apps/sources/icons.py b/mayan/apps/sources/icons.py index c4e751bbd4..1b0a6c8c84 100644 --- a/mayan/apps/sources/icons.py +++ b/mayan/apps/sources/icons.py @@ -5,8 +5,17 @@ from mayan.apps.appearance.classes import Icon icon_document_create_multiple = Icon( driver_name='fontawesome', symbol='upload' ) +icon_document_version_upload = Icon( + driver_name='fontawesome', symbol='upload' +) icon_log = Icon(driver_name='fontawesome', symbol='exclamation-triangle') icon_setup_sources = Icon(driver_name='fontawesome', symbol='upload') +icon_setup_source_check_now = Icon(driver_name='fontawesome', symbol='check') +icon_setup_source_delete = Icon(driver_name='fontawesome', symbol='times') +icon_setup_source_edit = Icon(driver_name='fontawesome', symbol='pencil-alt') icon_source_create = Icon(driver_name='fontawesome', symbol='plus') +icon_source_list = Icon(driver_name='fontawesome', symbol='upload') +icon_staging_folder = Icon(driver_name='fontawesome', symbol='folder') +icon_staging_file_delete = Icon(driver_name='fontawesome', symbol='times') icon_upload_view_link = Icon(driver_name='fontawesome', symbol='upload') icon_wizard_submit = Icon(driver_name='fontawesome', symbol='arrow-right') diff --git a/mayan/apps/sources/links.py b/mayan/apps/sources/links.py index 4452a721a2..ee4ae783b4 100644 --- a/mayan/apps/sources/links.py +++ b/mayan/apps/sources/links.py @@ -8,9 +8,6 @@ from mayan.apps.documents.permissions import ( ) from mayan.apps.navigation import Link -from .icons import ( - icon_document_create_multiple, icon_setup_sources, icon_source_create -) from .literals import ( SOURCE_CHOICE_WEB_FORM, SOURCE_CHOICE_EMAIL_IMAP, SOURCE_CHOICE_EMAIL_POP3, SOURCE_CHOICE_SANE_SCANNER, SOURCE_CHOICE_STAGING, SOURCE_CHOICE_WATCH @@ -48,60 +45,71 @@ def document_new_version_not_blocked(context): link_document_create_multiple = Link( condition=condition_check_document_creation_acls, - icon_class=icon_document_create_multiple, text=_('New document'), + icon_class_path='mayan.apps.sources.icons.icon_document_create_multiple', + text=_('New document'), view='sources:document_create_multiple' ) link_setup_sources = Link( - icon_class=icon_setup_sources, + icon_class_path='mayan.apps.sources.icons.icon_setup_sources', permissions=(permission_sources_setup_view,), text=_('Sources'), view='sources:setup_source_list' ) link_setup_source_create_imap_email = Link( - args='"%s"' % SOURCE_CHOICE_EMAIL_IMAP, icon_class=icon_source_create, + args='"%s"' % SOURCE_CHOICE_EMAIL_IMAP, + icon_class_path='mayan.apps.sources.icons.icon_source_create', permissions=(permission_sources_setup_create,), text=_('Add new IMAP email'), view='sources:setup_source_create', ) link_setup_source_create_pop3_email = Link( - args='"%s"' % SOURCE_CHOICE_EMAIL_POP3, icon_class=icon_source_create, + args='"%s"' % SOURCE_CHOICE_EMAIL_POP3, + icon_class_path='mayan.apps.sources.icons.icon_source_create', permissions=(permission_sources_setup_create,), text=_('Add new POP3 email'), view='sources:setup_source_create', ) link_setup_source_create_staging_folder = Link( - args='"%s"' % SOURCE_CHOICE_STAGING, icon_class=icon_source_create, + args='"%s"' % SOURCE_CHOICE_STAGING, + icon_class_path='mayan.apps.sources.icons.icon_source_create', permissions=(permission_sources_setup_create,), text=_('Add new staging folder'), view='sources:setup_source_create', ) link_setup_source_create_watch_folder = Link( - args='"%s"' % SOURCE_CHOICE_WATCH, icon_class=icon_source_create, + args='"%s"' % SOURCE_CHOICE_WATCH, + icon_class_path='mayan.apps.sources.icons.icon_source_create', permissions=(permission_sources_setup_create,), text=_('Add new watch folder'), view='sources:setup_source_create', ) link_setup_source_create_webform = Link( - args='"%s"' % SOURCE_CHOICE_WEB_FORM, icon_class=icon_source_create, + args='"%s"' % SOURCE_CHOICE_WEB_FORM, + icon_class_path='mayan.apps.sources.icons.icon_source_create', permissions=(permission_sources_setup_create,), text=_('Add new webform source'), view='sources:setup_source_create', ) link_setup_source_create_sane_scanner = Link( - args='"%s"' % SOURCE_CHOICE_SANE_SCANNER, icon_class=icon_source_create, + args='"%s"' % SOURCE_CHOICE_SANE_SCANNER, + icon_class_path='mayan.apps.sources.icons.icon_source_create', permissions=(permission_sources_setup_create,), text=_('Add new SANE scanner'), view='sources:setup_source_create', ) link_setup_source_delete = Link( args=('resolved_object.pk',), + icon_class_path='mayan.apps.sources.icons.icon_setup_source_delete', permissions=(permission_sources_setup_delete,), tags='dangerous', text=_('Delete'), view='sources:setup_source_delete', ) link_setup_source_edit = Link( args=('resolved_object.pk',), + icon_class_path='mayan.apps.sources.icons.icon_setup_source_edit', permissions=(permission_sources_setup_edit,), text=_('Edit'), view='sources:setup_source_edit', ) link_source_list = Link( + icon_class_path='mayan.apps.sources.icons.icon_source_list', permissions=(permission_sources_setup_view,), text=_('Document sources'), view='sources:setup_web_form_list' ) link_staging_file_delete = Link( args=('source.pk', 'object.encoded_filename',), keep_query=True, + icon_class_path='mayan.apps.sources.icons.icon_staging_file_delete', permissions=(permission_document_new_version, permission_document_create), tags='dangerous', text=_('Delete'), view='sources:staging_file_delete', ) @@ -118,6 +126,7 @@ link_setup_source_logs = Link( ) link_setup_source_check_now = Link( args=('resolved_object.pk',), + icon_class_path='mayan.apps.sources.icons.icon_setup_source_check_now', permissions=(permission_sources_setup_view,), text=_('Check now'), view='sources:setup_source_check', )