def get_tab_link_for_source(source, document=None):
        if document:
            view = 'sources:upload_version'
            args = ('"{}"'.format(document.pk), '"{}"'.format(source.pk),)
        else:
            view = 'sources:upload_interactive'
            args = ('"{}"'.format(source.pk),)

        return Link(
            args=args,
            icon_class=icon_upload_view_link,
            keep_query=True,
            remove_from_query=['page'],
            text=source.label,
            view=view,
        )
Esempio n. 2
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .icons import icon_task_manager
from .permissions import permission_task_view

link_task_manager = Link(icon_class=icon_task_manager,
                         permissions=(permission_task_view, ),
                         text=_('Task manager'),
                         view='task_manager:queue_list')
Esempio n. 3
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .icons import (icon_search, icon_search_advanced, icon_search_again,
                    icon_search_backend_reindex)
from .permissions import permission_search_tools

link_search = Link(args='search_model.get_full_name',
                   icon_class=icon_search,
                   text=_('Search'),
                   view='search:search')
link_search_advanced = Link(args='search_model.get_full_name',
                            icon_class=icon_search_advanced,
                            text=_('Advanced search'),
                            view='search:search_advanced')
link_search_again = Link(args='search_model.get_full_name',
                         icon_class=icon_search_again,
                         keep_query=True,
                         text=_('Search again'),
                         view='search:search_again')
link_search_backend_reindex = Link(icon_class=icon_search_backend_reindex,
                                   permissions=(permission_search_tools, ),
                                   text=_('Reindex search backend'),
                                   view='search:search_backend_reindex')
Esempio n. 4
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .icons import (icon_api, icon_api_documentation,
                    icon_api_documentation_redoc)
from .settings import setting_disable_links


def api_links_enabled(context):
    return not setting_disable_links.value


link_api = Link(condition=api_links_enabled,
                icon_class=icon_api,
                tags='new_window',
                text=_('REST API'),
                view='rest_api:api_root')
link_api_documentation = Link(condition=api_links_enabled,
                              icon_class=icon_api_documentation,
                              tags='new_window',
                              text=_('API Documentation (Swagger)'),
                              view='rest_api:schema-swagger-ui')

link_api_documentation_redoc = Link(condition=api_links_enabled,
                                    icon_class=icon_api_documentation_redoc,
                                    tags='new_window',
                                    text=_('API Documentation (ReDoc)'),
                                    view='rest_api:schema-redoc')
Esempio n. 5
0
from __future__ import absolute_import, unicode_literals

from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from ..permissions import permission_document_view


link_document_list_favorites = Link(
    icon_class_path='mayan.apps.documents.icons.icon_favorite_document_list',
    text=_('Favorites'),
    view='documents:document_list_favorites'
)
link_document_favorites_add = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.documents.icons.icon_favorite_document_add',
    permissions=(permission_document_view,), text=_('Add to favorites'),
    view='documents:document_add_to_favorites',
)
link_document_favorites_remove = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.documents.icons.icon_favorite_document_remove',
    permissions=(permission_document_view,), text=_('Remove from favorites'),
    view='documents:document_remove_from_favorites',
)
link_document_multiple_favorites_add = Link(
    text=_('Add to favorites'),
    icon_class_path='mayan.apps.documents.icons.icon_favorite_document_add',
    view='documents:document_multiple_add_to_favorites',
)
Esempio n. 6
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.documents.permissions import permission_document_type_edit
from mayan.apps.navigation.classes import Link

from .permissions import (
    permission_document_metadata_add, permission_document_metadata_edit,
    permission_document_metadata_remove, permission_document_metadata_view,
    permission_metadata_type_create, permission_metadata_type_delete,
    permission_metadata_type_edit, permission_metadata_type_view)

link_metadata_add = Link(
    args='object.pk',
    icon_class_path='mayan.apps.metadata.icons.icon_document_metadata_add',
    permissions=(permission_document_metadata_add, ),
    text=_('Add metadata'),
    view='metadata:metadata_add',
)
link_metadata_edit = Link(
    args='object.pk',
    icon_class_path='mayan.apps.metadata.icons.icon_document_metadata_edit',
    permissions=(permission_document_metadata_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'),
Esempio n. 7
0
        ContentType = apps.get_model(app_label='contenttypes',
                                     model_name='ContentType')

        content_type = ContentType.objects.get_for_model(
            model=context[variable_name])
        return {
            'app_label': '"{}"'.format(content_type.app_label),
            'model': '"{}"'.format(content_type.model),
            'object_id': '{}.pk'.format(variable_name)
        }

    return get_kwargs


link_about = Link(icon_class=icon_about,
                  text=_('About this'),
                  view='common:about_view')
link_book = Link(icon_class=icon_book,
                 tags='new_window',
                 text=_('Get the book'),
                 url='https://mayan-edms.com/book/')
link_current_user_locale_profile_details = Link(
    icon_class=icon_current_user_locale_profile_details,
    text=_('Locale profile'),
    view='common:current_user_locale_profile_details')
link_current_user_locale_profile_edit = Link(
    icon_class=icon_current_user_locale_profile_edit,
    text=_('Edit locale profile'),
    view='common:current_user_locale_profile_edit')
link_documentation = Link(icon_class=icon_documentation,
                          tags='new_window',
Esempio n. 8
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .icons import (icon_key_delete, icon_key_detail, icon_key_download,
                    icon_key_setup, icon_key_upload, icon_keyserver_search,
                    icon_private_keys, icon_public_keys)
from .permissions import (permission_key_delete, permission_key_download,
                          permission_key_receive, permission_key_view,
                          permission_key_upload, permission_keyserver_query)

link_key_delete = Link(args=('resolved_object.pk', ),
                       icon_class=icon_key_delete,
                       permissions=(permission_key_delete, ),
                       tags='dangerous',
                       text=_('Delete'),
                       view='django_gpg:key_delete')
link_key_detail = Link(args=('resolved_object.pk', ),
                       icon_class=icon_key_detail,
                       permissions=(permission_key_view, ),
                       text=_('Details'),
                       view='django_gpg:key_detail')
link_key_download = Link(args=('resolved_object.pk', ),
                         icon_class=icon_key_download,
                         permissions=(permission_key_download, ),
                         text=_('Download'),
                         view='django_gpg:key_download')
link_key_query = Link(icon_class=icon_keyserver_search,
                      permissions=(permission_keyserver_query, ),
                      text=_('Query keyservers'),
Esempio n. 9
0
                                     model_name='ContentType')

        content_type = ContentType.objects.get_for_model(
            context[variable_name])
        return {
            'app_label': '"{}"'.format(content_type.app_label),
            'model': '"{}"'.format(content_type.model),
            'object_id': '{}.pk'.format(variable_name)
        }

    return get_kwargs


link_transformation_create = Link(
    icon_class_path='mayan.apps.converter.icons.icon_transformation_create',
    kwargs=get_kwargs_factory('content_object'),
    permissions=(permission_transformation_create, ),
    text=_('Create new transformation'),
    view='converter:transformation_create')
link_transformation_delete = Link(
    args='resolved_object.pk',
    icon_class_path='mayan.apps.converter.icons.icon_transformation_delete',
    permissions=(permission_transformation_delete, ),
    tags='dangerous',
    text=_('Delete'),
    view='converter:transformation_delete')
link_transformation_edit = Link(
    args='resolved_object.pk',
    icon_class_path='mayan.apps.converter.icons.icon_transformation_edit',
    permissions=(permission_transformation_edit, ),
    text=_('Edit'),
    view='converter:transformation_edit')
Esempio n. 10
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .permissions import permission_dependencies_view

link_check_version = Link(
    icon_class_path='mayan.apps.dependencies.icons.icon_check_version',
    text=_('Check for updates'),
    view='dependencies:check_version_view')

link_dependency_group_list = Link(
    icon_class_path='mayan.apps.dependencies.icons.icon_dependency_group_list',
    permissions=(permission_dependencies_view, ),
    text=_('Groups'),
    view='dependencies:dependency_group_list',
)

link_dependency_group_entry_list = Link(
    args='resolved_object.name',
    icon_class_path=
    'mayan.apps.dependencies.icons.icon_dependency_group_entry_list',
    permissions=(permission_dependencies_view, ),
    text=_('Entries'),
    view='dependencies:dependency_group_entry_list',
)

link_dependency_group_entry_detail = Link(
    args=('resolved_object.dependency_group.name', 'resolved_object.name'),
    icon_class_path=
    'mayan.apps.dependencies.icons.icon_dependency_group_entry_detail',
Esempio n. 11
0
from mayan.apps.navigation.utils import get_cascade_condition

from .permissions import (
    permission_workflow_create,
    permission_workflow_delete,
    permission_workflow_edit,
    permission_workflow_tools,
    permission_workflow_view,
)

# Workflow templates

link_document_type_workflow_templates = Link(
    args='resolved_object.pk',
    icon_class_path=
    'mayan.apps.document_states.icons.icon_document_type_workflow_list',
    permissions=(permission_document_type_edit, ),
    text=_('Workflows'),
    view='document_states:document_type_workflow_templates',
)
link_workflow_template_create = Link(
    icon_class_path=
    'mayan.apps.document_states.icons.icon_workflow_template_create',
    permissions=(permission_workflow_create, ),
    text=_('Create workflow'),
    view='document_states:workflow_template_create')
link_workflow_template_delete = Link(
    args='resolved_object.pk',
    icon_class_path=
    'mayan.apps.document_states.icons.icon_workflow_template_delete',
    permissions=(permission_workflow_delete, ),
    tags='dangerous',
Esempio n. 12
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .icons import (icon_document_submit, icon_document_multiple_submit,
                    icon_document_type_submit, icon_file_metadata)
from .permissions import (permission_document_type_file_metadata_setup,
                          permission_file_metadata_submit,
                          permission_file_metadata_view)

link_document_driver_list = Link(icon_class=icon_file_metadata,
                                 kwargs={'document_id': 'resolved_object.id'},
                                 permissions=(permission_file_metadata_view, ),
                                 text=_('File metadata'),
                                 view='file_metadata:document_driver_list')
link_document_file_metadata_list = Link(
    icon_class=icon_file_metadata,
    kwargs={'document_version_driver_id': 'resolved_object.id'},
    permissions=(permission_file_metadata_view, ),
    text=_('Attributes'),
    view='file_metadata:document_version_driver_file_metadata_list')
link_document_submit = Link(icon_class=icon_document_submit,
                            kwargs={'document_id': 'resolved_object.id'},
                            permissions=(permission_file_metadata_submit, ),
                            text=_('Submit for file metadata'),
                            view='file_metadata:document_submit')
link_document_multiple_submit = Link(
    icon_class=icon_document_multiple_submit,
    text=_('Submit for file metadata'),
    view='file_metadata:document_multiple_submit')
link_document_type_file_metadata_settings = Link(
Esempio n. 13
0
                    icon_notification_mark_read,
                    icon_notification_mark_read_all,
                    icon_object_event_types_user_subcriptions_list,
                    icon_user_notifications_list)
from .permissions import permission_events_view


def get_unread_notification_count(context):
    Notification = apps.get_model(app_label='events',
                                  model_name='Notification')
    return Notification.objects.filter(user=context.request.user).filter(
        read=False).count()


link_current_user_events = Link(icon_class=icon_events_list,
                                text=_('My events'),
                                view='events:current_user_events')
link_events_details = Link(text=_('Events'), view='events:events_list')
link_events_for_object = Link(
    icon_class=icon_events_for_object,
    kwargs=get_content_type_kwargs_factory(variable_name='resolved_object'),
    permissions=(permission_events_view, ),
    text=_('Events'),
    view='events:events_for_object',
)
link_events_list = Link(icon_class=icon_events_list,
                        permissions=(permission_events_view, ),
                        text=_('Events'),
                        view='events:events_list')
link_event_types_subscriptions_list = Link(
    icon_class=icon_event_types_subscriptions_list,
def is_min_zoom(context):
    return context['zoom'] <= setting_zoom_min_level.value


def is_document_page_enabled(context):
    return context['resolved_object'].enabled


def is_document_page_disabled(context):
    return not context['resolved_object'].enabled


link_document_page_disable = Link(
    condition=is_document_page_enabled,
    icon_class_path='mayan.apps.documents.icons.icon_document_page_disable',
    kwargs={'document_page_id': 'resolved_object.id'},
    permissions=(permission_document_edit,), text=_('Disable page'),
    view='documents:document_page_disable'
)
link_document_page_multiple_disable = Link(
    icon_class_path='mayan.apps.documents.icons.icon_document_page_disable',
    text=_('Disable pages'),
    view='documents:document_page_multiple_disable'
)
link_document_page_enable = Link(
    condition=is_document_page_disabled,
    icon_class_path='mayan.apps.documents.icons.icon_document_page_enable',
    kwargs={'document_page_id': 'resolved_object.id'},
    permissions=(permission_document_edit,), text=_('Enable page'),
    view='documents:document_page_enable'
)
Esempio n. 15
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .permissions import (
    permission_ocr_content_view, permission_ocr_document,
    permission_document_type_ocr_setup
)

link_document_page_ocr_content = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.ocr.icons.icon_document_page_ocr_content',
    permissions=(permission_ocr_content_view,), text=_('OCR'),
    view='ocr:document_page_ocr_content',
)
link_document_ocr_content = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.ocr.icons.icon_document_ocr_content',
    permissions=(permission_ocr_content_view,), text=_('OCR'),
    view='ocr:document_ocr_content',
)
link_document_submit = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.ocr.icons.icon_document_submit',
    permissions=(permission_ocr_document,), text=_('Submit for OCR'),
    view='ocr:document_submit'
)
link_document_submit_multiple = Link(
    icon_class_path='mayan.apps.ocr.icons.icon_document_submit',
Esempio n. 16
0
from ..icons import (
    icon_document_type_create,
    icon_document_type_delete,
    icon_document_type_edit,
    icon_document_type_setup,
)
from ..permissions import (
    permission_document_type_create,
    permission_document_type_delete,
    permission_document_type_edit,
    permission_document_type_view,
)

link_document_type_create = Link(
    icon_class=icon_document_type_create,
    permissions=(permission_document_type_create, ),
    text=_('Create document type'),
    view='documents:document_type_create')
link_document_type_delete = Link(
    args='resolved_object.id',
    icon_class=icon_document_type_delete,
    permissions=(permission_document_type_delete, ),
    tags='dangerous',
    text=_('Delete'),
    view='documents:document_type_delete',
)
link_document_type_policies = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.documents.icons.icon_document_type_policies',
    permissions=(permission_document_type_edit, ),
    text=_('Deletion policies'),
Esempio n. 17
0
                                     model_name='ContentType')

        content_type = ContentType.objects.get_for_model(
            context[variable_name])
        return {
            'app_label': '"{}"'.format(content_type.app_label),
            'model_name': '"{}"'.format(content_type.model),
            'object_id': '{}.pk'.format(variable_name)
        }

    return get_kwargs


link_acl_create = Link(icon_class=icon_acl_new,
                       kwargs=get_kwargs_factory('resolved_object'),
                       permissions=(permission_acl_edit, ),
                       text=_('New ACL'),
                       view='acls:acl_create')
link_acl_delete = Link(args='resolved_object.pk',
                       icon_class=icon_acl_delete,
                       permissions=(permission_acl_edit, ),
                       tags='dangerous',
                       text=_('Delete'),
                       view='acls:acl_delete')
link_acl_list = Link(icon_class=icon_acl_list,
                     kwargs=get_kwargs_factory('resolved_object'),
                     permissions=(permission_acl_view, ),
                     text=_('ACLs'),
                     view='acls:acl_list')
link_acl_permissions = Link(args='resolved_object.pk',
                            icon_class=icon_acl_permissions,
Esempio n. 18
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from ..permissions import (
    permission_document_delete, permission_document_restore,
    permission_document_trash, permission_empty_trash
)


link_document_delete = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.documents.icons.icon_trashed_document_delete',
    permissions=(permission_document_delete,),
    tags='dangerous', text=_('Delete'), view='documents:document_delete',

)
link_document_trash = Link(
    args='resolved_object.id', permissions=(permission_document_trash,),
    icon_class_path='mayan.apps.documents.icons.icon_document_trash_send',
    tags='dangerous', text=_('Move to trash'),
    view='documents:document_trash',
)
link_document_list_deleted = Link(
    icon_class_path='mayan.apps.documents.icons.icon_trashed_document_list',
    text=_('Trash can'), view='documents:document_list_deleted'
)
link_document_restore = Link(
    permissions=(permission_document_restore,),
    icon_class_path='mayan.apps.documents.icons.icon_trashed_document_restore',
    text=_('Restore'),
Esempio n. 19
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .icons import (
    icon_search,
    icon_search_advanced,
    icon_search_again,
)

link_search = Link(args='search_model.get_full_name',
                   icon_class=icon_search,
                   text=_('Search'),
                   view='search:search')
link_search_advanced = Link(args='search_model.get_full_name',
                            icon_class=icon_search_advanced,
                            text=_('Advanced search'),
                            view='search:search_advanced')
link_search_again = Link(args='search_model.get_full_name',
                         icon_class=icon_search_again,
                         keep_query=True,
                         text=_('Search again'),
                         view='search:search_again')
Esempio n. 20
0
)
from mayan.apps.navigation.classes import Link

from ..icons import (
    icon_document_list_recent_access, icon_recent_added_document_list
)
from ..permissions import (
    permission_document_download, permission_document_properties_edit,
    permission_document_print, permission_document_view
)


link_document_clear_transformations = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.documents.icons.icon_document_transformations_clear',
    permissions=(permission_transformation_delete,),
    text=_('Clear transformations'),
    view='documents:document_clear_transformations',
)
link_document_clone_transformations = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.documents.icons.icon_document_transformations_clone',
    permissions=(permission_transformation_edit,),
    text=_('Clone transformations'),
    view='documents:document_clone_transformations',
)
link_document_document_type_edit = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.documents.icons.icon_document_type_change',
    permissions=(permission_document_properties_edit,), text=_('Change type'),
    view='documents:document_document_type_edit',
Esempio n. 21
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .icons import (icon_comment_add, icon_comment_delete, icon_comment_edit,
                    icon_comments_for_document)
from .permissions import (permission_document_comment_create,
                          permission_document_comment_delete,
                          permission_document_comment_edit,
                          permission_document_comment_view)

link_comment_add = Link(
    args='object.pk',
    icon_class=icon_comment_add,
    permissions=(permission_document_comment_create, ),
    text=_('Add comment'),
    view='comments:comment_add',
)
link_comment_delete = Link(
    args='object.pk',
    icon_class=icon_comment_delete,
    permissions=(permission_document_comment_delete, ),
    tags='dangerous',
    text=_('Delete'),
    view='comments:comment_delete',
)
link_comment_edit = Link(
    args='object.pk',
    icon_class=icon_comment_edit,
    permissions=(permission_document_comment_edit, ),
    text=_('Edit'),
Esempio n. 22
0
from mayan.apps.navigation.classes import Link
from mayan.apps.storage.classes import DefinedStorage

from .icons import icon_cache_purge, icon_file_caching
from .permissions import permission_cache_purge, permission_cache_view


def condition_valid_storage(context):
    try:
        storage = DefinedStorage.get(
            name=context['object'].defined_storage_name)
    except KeyError:
        return False
    else:
        return storage


link_caches_list = Link(icon_class=icon_file_caching,
                        permissions=(permission_cache_view, ),
                        text=_('File caches'),
                        view='file_caching:cache_list')
link_cache_purge = Link(condition=condition_valid_storage,
                        icon_class=icon_cache_purge,
                        kwargs={'cache_id': 'resolved_object.id'},
                        permissions=(permission_cache_purge, ),
                        text=_('Purge cache'),
                        view='file_caching:cache_purge')
link_cache_multiple_purge = Link(icon_class=icon_cache_purge,
                                 text=_('Purge cache'),
                                 view='file_caching:cache_multiple_purge')
Esempio n. 23
0
from mayan.apps.acls.links import link_acl_list
from mayan.apps.documents.permissions import permission_document_view
from mayan.apps.navigation.classes import Link
from mayan.apps.navigation.utils import get_cascade_condition

from .permissions import (permission_cabinet_add_document,
                          permission_cabinet_create, permission_cabinet_delete,
                          permission_cabinet_edit, permission_cabinet_view,
                          permission_cabinet_remove_document)

# Document links

link_document_cabinet_list = Link(
    args='resolved_object.pk',
    icon_class_path='mayan.apps.cabinets.icons.icon_cabinet_list',
    permissions=(permission_document_view, ),
    text=_('Cabinets'),
    view='cabinets:document_cabinet_list',
)
link_document_cabinet_remove = Link(
    args='resolved_object.pk',
    icon_class_path='mayan.apps.cabinets.icons.icon_document_cabinet_remove',
    permissions=(permission_cabinet_remove_document, ),
    text=_('Remove from cabinets'),
    view='cabinets:document_cabinet_remove')
link_document_cabinet_add = Link(
    args='object.pk',
    icon_class_path='mayan.apps.cabinets.icons.icon_document_cabinet_add',
    permissions=(permission_cabinet_add_document, ),
    text=_('Add to cabinets'),
    view='cabinets:document_cabinet_add',
Esempio n. 24
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .permissions import (
    permission_mailing_link, permission_mailing_send_document,
    permission_user_mailer_create, permission_user_mailer_delete,
    permission_user_mailer_edit, permission_user_mailer_use,
    permission_user_mailer_view, permission_view_error_log)

link_send_document = Link(
    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',
    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'),
Esempio n. 25
0
from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .permissions import permission_statistics_view

# Translators: 'Queue' here is the verb, to queue a statistic to update
link_execute = Link(
    icon_class_path='mayan.apps.mayan_statistics.icons.icon_execute',
    permissions=(permission_statistics_view, ),
    text=_('Queue'),
    view='statistics:statistic_queue',
    args='resolved_object.slug')
link_view = Link(icon_class_path='mayan.apps.mayan_statistics.icons.icon_view',
                 permissions=(permission_statistics_view, ),
                 text=_('View'),
                 view='statistics:statistic_detail',
                 args='resolved_object.slug')
link_namespace_details = Link(
    icon_class_path='mayan.apps.mayan_statistics.icons.icon_namespace_details',
    permissions=(permission_statistics_view, ),
    text=_('Namespace details'),
    view='statistics:namespace_details',
    args='resolved_object.slug')
link_namespace_list = Link(
    icon_class_path='mayan.apps.mayan_statistics.icons.icon_namespace_list',
    permissions=(permission_statistics_view, ),
    text=_('Namespace list'),
    view='statistics:namespace_list')
link_statistics = Link(
    icon_class_path='mayan.apps.mayan_statistics.icons.icon_statistics',
Esempio n. 26
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

from .icons import icon_namespace_list
from .permissions import permission_settings_edit, permission_settings_view

link_namespace_list = Link(
    icon_class=icon_namespace_list, permissions=(permission_settings_view,),
    text=_('Settings'), view='settings:namespace_list'
)
link_namespace_detail = Link(
    args='resolved_object.name', permissions=(permission_settings_view,),
    text=_('Settings'), view='settings:namespace_detail',
)
# Duplicate the link to use a different name
link_namespace_root_list = Link(
    icon_class=icon_namespace_list, permissions=(permission_settings_view,),
    text=_('Namespaces'), view='settings:namespace_list'
)
link_setting_edit = Link(
    args='resolved_object.global_name', permissions=(permission_settings_edit,),
    text=_('Edit'), view='settings:setting_edit_view',
)
Esempio n. 27
0
    if queryset:
        return True


def document_new_version_not_blocked(context):
    NewVersionBlock = apps.get_model(
        app_label='checkouts', model_name='NewVersionBlock'
    )

    return not NewVersionBlock.objects.is_blocked(context['object'])


link_document_create_multiple = Link(
    condition=condition_check_document_creation_acls,
    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_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_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,
Esempio n. 28
0
from .permissions import (permission_document_indexing_create,
                          permission_document_indexing_edit,
                          permission_document_indexing_delete,
                          permission_document_indexing_instance_view,
                          permission_document_indexing_rebuild,
                          permission_document_indexing_view)


def is_not_root_node(context):
    return not context['resolved_object'].is_root_node()


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_document_type_index_templates = Link(
    args='resolved_object.pk',
    icon_class_path=
    'mayan.apps.document_indexing.icons.icon_document_type_index_templates',
    permissions=(permission_document_indexing_create, ),
    text=_('Index templates'),
    view='indexing:document_type_index_templates',
)

link_index_instance_menu = Link(
    condition=get_cascade_condition(
Esempio n. 29
0
from mayan.apps.navigation.classes import Link
from mayan.apps.navigation.utils import get_cascade_condition

from .permissions import (
    permission_content_view, permission_document_type_parsing_setup,
    permission_parse_document
)


def is_document_page_disabled(context):
    return not context['resolved_object'].enabled


link_document_content = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.document_parsing.icons.icon_document_content',
    permissions=(permission_content_view,), text=_('Content'),
    view='document_parsing:document_content'
)
link_document_content_delete = Link(
    args='resolved_object.id',
    icon_class_path='mayan.apps.document_parsing.icons.icon_document_content_delete',
    permissions=(permission_parse_document,), text=_('Delete parsed content'),
    view='document_parsing:document_content_delete',
)
link_document_content_delete_multiple = Link(
    icon_class_path='mayan.apps.document_parsing.icons.icon_document_content_delete',
    text=_('Delete parsed content'),
    view='document_parsing:document_content_delete_multiple',
)
link_document_page_content = Link(
    args='resolved_object.id', conditional_disable=is_document_page_disabled,
Esempio n. 30
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from mayan.apps.navigation.classes import Link

link_search = Link(text=_('Search'),
                   view='search:search',
                   args='search_model.get_full_name')
link_search_advanced = Link(text=_('Advanced search'),
                            view='search:search_advanced',
                            args='search_model.get_full_name')
link_search_again = Link(text=_('Search again'),
                         view='search:search_again',
                         args='search_model.get_full_name',
                         keep_query=True)