Ejemplo n.º 1
0
from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import ImproperlyConfigured

from navigation.api import register_sidebar_template
from project_tools.api import register_tool
from permissions.api import register_permission, set_namespace_title

from converter.utils import load_backend
from converter.conf.settings import GRAPHICS_BACKEND

CONVERTER_FORMAT_LIST_VIEW = {'namespace': 'converter', 'name': 'format_list_view', 'label': _(u'View the list of supported file formats.')}

set_namespace_title('converter', _(u'Converter'))
register_permission(CONVERTER_FORMAT_LIST_VIEW)

formats_list = {'text': _('file formats'), 'view': 'formats_list', 'famfam': 'pictures', 'icon': 'pictures.png', 'permissions': [CONVERTER_FORMAT_LIST_VIEW]}

register_sidebar_template(['formats_list'], 'converter_file_formats_help.html')

backend = load_backend().ConverterClass()

register_tool(formats_list)
Ejemplo n.º 2
0
    'namespace': 'reminders',
    'name': 'reminder_edit_all',
    'label': _(u'Edit all reminders')
}
PERMISSION_REMINDER_DELETE = {
    'namespace': 'reminders',
    'name': 'reminder_delete',
    'label': _(u'Delete reminder')
}
PERMISSION_REMINDER_DELETE_ALL = {
    'namespace': 'reminders',
    'name': 'reminder_delete_all',
    'label': _(u'Delete all reminders')
}

set_namespace_title('reminders', _(u'Reminders'))
register_permission(PERMISSION_REMINDER_VIEW)
register_permission(PERMISSION_REMINDER_VIEW_ALL)
register_permission(PERMISSION_REMINDER_CREATE)
register_permission(PERMISSION_REMINDER_EDIT)
register_permission(PERMISSION_REMINDER_EDIT_ALL)
register_permission(PERMISSION_REMINDER_DELETE)
register_permission(PERMISSION_REMINDER_DELETE_ALL)

reminder_list = {
    'text': _(u'reminder list'),
    'view': 'reminder_list',
    'famfam': 'hourglass',
    'permissions': [PERMISSION_REMINDER_VIEW]
}
reminder_list_all = {
Ejemplo n.º 3
0
PERMISSION_METADATA_DOCUMENT_EDIT = {'namespace': 'metadata', 'name': u'metadata_document_edit', 'label': _(u'Edit a document\'s metadata')}
PERMISSION_METADATA_DOCUMENT_ADD = {'namespace': 'metadata', 'name': u'metadata_document_add', 'label': _(u'Add metadata to a document')}
PERMISSION_METADATA_DOCUMENT_REMOVE = {'namespace': 'metadata', 'name': u'metadata_document_remove', 'label': _(u'Remove metadata from a document')}
PERMISSION_METADATA_DOCUMENT_VIEW = {'namespace': 'metadata', 'name': u'metadata_document_view', 'label': _(u'View metadata from a document')}

PERMISSION_METADATA_TYPE_EDIT = {'namespace': 'metadata_setup', 'name': u'metadata_type_edit', 'label': _(u'Edit metadata types')}
PERMISSION_METADATA_TYPE_CREATE = {'namespace': 'metadata_setup', 'name': u'metadata_type_create', 'label': _(u'Create new metadata types')}
PERMISSION_METADATA_TYPE_DELETE = {'namespace': 'metadata_setup', 'name': u'metadata_type_delete', 'label': _(u'Delete metadata types')}
PERMISSION_METADATA_TYPE_VIEW = {'namespace': 'metadata_setup', 'name': u'metadata_type_view', 'label': _(u'View metadata types')}

PERMISSION_METADATA_SET_EDIT = {'namespace': 'metadata_setup', 'name': u'metadata_set_edit', 'label': _(u'Edit metadata sets')}
PERMISSION_METADATA_SET_CREATE = {'namespace': 'metadata_setup', 'name': u'metadata_set_create', 'label': _(u'Create new metadata sets')}
PERMISSION_METADATA_SET_DELETE = {'namespace': 'metadata_setup', 'name': u'metadata_set_delete', 'label': _(u'Delete metadata sets')}
PERMISSION_METADATA_SET_VIEW = {'namespace': 'metadata_setup', 'name': u'metadata_set_view', 'label': _(u'View metadata sets')}

set_namespace_title('metadata', _(u'Metadata'))
register_permission(PERMISSION_METADATA_DOCUMENT_EDIT)
register_permission(PERMISSION_METADATA_DOCUMENT_ADD)
register_permission(PERMISSION_METADATA_DOCUMENT_REMOVE)
register_permission(PERMISSION_METADATA_DOCUMENT_VIEW)

set_namespace_title('metadata_setup', _(u'Metadata setup'))
register_permission(PERMISSION_METADATA_TYPE_EDIT)
register_permission(PERMISSION_METADATA_TYPE_CREATE)
register_permission(PERMISSION_METADATA_TYPE_DELETE)
register_permission(PERMISSION_METADATA_TYPE_VIEW)

register_permission(PERMISSION_METADATA_SET_EDIT)
register_permission(PERMISSION_METADATA_SET_CREATE)
register_permission(PERMISSION_METADATA_SET_DELETE)
register_permission(PERMISSION_METADATA_SET_VIEW)
Ejemplo n.º 4
0
from django.contrib.auth.models import User, Group

from navigation.api import register_links, register_multi_item_links
from permissions.api import register_permission, set_namespace_title

PERMISSION_USER_CREATE = {'namespace': 'user_management', 'name': 'user_create', 'label': _(u'Create new users')}
PERMISSION_USER_EDIT = {'namespace': 'user_management', 'name': 'user_edit', 'label': _(u'Edit existing users')}
PERMISSION_USER_VIEW = {'namespace': 'user_management', 'name': 'user_view', 'label': _(u'View existing users')}
PERMISSION_USER_DELETE = {'namespace': 'user_management', 'name': 'user_delete', 'label': _(u'Delete existing users')}

PERMISSION_GROUP_CREATE = {'namespace': 'user_management', 'name': 'group_create', 'label': _(u'Create new groups')}
PERMISSION_GROUP_EDIT = {'namespace': 'user_management', 'name': 'group_edit', 'label': _(u'Edit existing groups')}
PERMISSION_GROUP_VIEW = {'namespace': 'user_management', 'name': 'group_view', 'label': _(u'View existing groups')}
PERMISSION_GROUP_DELETE = {'namespace': 'user_management', 'name': 'group_delete', 'label': _(u'Delete existing groups')}

set_namespace_title('user_management', _(u'User management'))
register_permission(PERMISSION_USER_CREATE)
register_permission(PERMISSION_USER_EDIT)
register_permission(PERMISSION_USER_VIEW)
register_permission(PERMISSION_USER_DELETE)
register_permission(PERMISSION_GROUP_CREATE)
register_permission(PERMISSION_GROUP_EDIT)
register_permission(PERMISSION_GROUP_VIEW)
register_permission(PERMISSION_GROUP_DELETE)

user_list = {'text': _(u'user list'), 'view': 'user_list', 'famfam': 'user', 'permissions': [PERMISSION_USER_VIEW]}
user_edit = {'text': _(u'edit'), 'view': 'user_edit', 'args': 'object.id', 'famfam': 'user_edit', 'permissions': [PERMISSION_USER_EDIT]}
user_add = {'text': _(u'create new user'), 'view': 'user_add', 'famfam': 'user_add', 'permissions': [PERMISSION_USER_CREATE]}
user_delete = {u'text': _('delete'), 'view': 'user_delete', 'args': 'object.id', 'famfam': 'user_delete', 'permissions': [PERMISSION_USER_DELETE]}
user_multiple_delete = {u'text': _('delete'), 'view': 'user_multiple_delete', 'famfam': 'user_delete', 'permissions': [PERMISSION_USER_DELETE]}
user_set_password = {u'text': _('reset password'), 'view': 'user_set_password', 'args': 'object.id', 'famfam': 'lock_edit', 'permissions': [PERMISSION_USER_EDIT]}
Ejemplo n.º 5
0
from scheduler.api import register_interval_job

from ocr.conf.settings import AUTOMATIC_OCR
from ocr.conf.settings import QUEUE_PROCESSING_INTERVAL
from ocr.models import DocumentQueue, QueueTransformation
from ocr.tasks import task_process_document_queues

#Permissions
PERMISSION_OCR_DOCUMENT = {'namespace': 'ocr', 'name': 'ocr_document', 'label': _(u'Submit document for OCR')}
PERMISSION_OCR_DOCUMENT_DELETE = {'namespace': 'ocr', 'name': 'ocr_document_delete', 'label': _(u'Delete document for OCR queue')}
PERMISSION_OCR_QUEUE_ENABLE_DISABLE = {'namespace': 'ocr', 'name': 'ocr_queue_enable_disable', 'label': _(u'Can enable/disable an OCR queue')}
PERMISSION_OCR_CLEAN_ALL_PAGES = {'namespace': 'ocr', 'name': 'ocr_clean_all_pages', 'label': _(u'Can execute an OCR clean up on all document pages')}
PERMISSION_OCR_QUEUE_EDIT = {'namespace': 'ocr_setup', 'name': 'ocr_queue_edit', 'label': _(u'Can edit an OCR queue properties')}

set_namespace_title('ocr', _(u'OCR'))
register_permission(PERMISSION_OCR_DOCUMENT)
register_permission(PERMISSION_OCR_DOCUMENT_DELETE)
register_permission(PERMISSION_OCR_QUEUE_ENABLE_DISABLE)
register_permission(PERMISSION_OCR_CLEAN_ALL_PAGES)

set_namespace_title('ocr_setup', _(u'OCR Setup'))
register_permission(PERMISSION_OCR_QUEUE_EDIT)

#Links
submit_document = {'text': _('submit to OCR queue'), 'view': 'submit_document', 'args': 'object.id', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
re_queue_document = {'text': _('re-queue'), 'view': 're_queue_document', 'args': 'object.id', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
re_queue_multiple_document = {'text': _('re-queue'), 'view': 're_queue_multiple_document', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
queue_document_delete = {'text': _(u'delete'), 'view': 'queue_document_delete', 'args': 'object.id', 'famfam': 'hourglass_delete', 'permissions': [PERMISSION_OCR_DOCUMENT_DELETE]}
queue_document_multiple_delete = {'text': _(u'delete'), 'view': 'queue_document_multiple_delete', 'famfam': 'hourglass_delete', 'permissions': [PERMISSION_OCR_DOCUMENT_DELETE]}
Ejemplo n.º 6
0
from documents.models import Document

from document_indexing.models import IndexInstance

PERMISSION_DOCUMENT_INDEXING_VIEW = {
    'namespace': 'document_indexing',
    'name': 'document_index_view',
    'label': _(u'View document indexes')
}
PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES = {
    'namespace': 'document_indexing',
    'name': 'document_rebuild_indexes',
    'label': _(u'Rebuild document indexes')
}

set_namespace_title('document_indexing', _(u'Indexing'))
register_permission(PERMISSION_DOCUMENT_INDEXING_VIEW)
register_permission(PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES)

index_list = {
    'text': _(u'index list'),
    'view': 'index_instance_list',
    'famfam': 'folder_page',
    'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW]
}
index_parent = {
    'text': _(u'go up one level'),
    'view': 'index_instance_list',
    'args': 'object.parent.pk',
    'famfam': 'arrow_up',
    'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW],
Ejemplo n.º 7
0

def is_min_zoom(context):
    return context["zoom"] <= ZOOM_MIN_LEVEL


def is_max_zoom(context):
    return context["zoom"] >= ZOOM_MAX_LEVEL


def is_current_version(context):
    return context["object"].document.latest_version.timestamp == context["object"].timestamp


# Permission setup
set_namespace_title("documents", _(u"Documents"))
register_permission(PERMISSION_DOCUMENT_CREATE)
register_permission(PERMISSION_DOCUMENT_PROPERTIES_EDIT)
register_permission(PERMISSION_DOCUMENT_EDIT)
register_permission(PERMISSION_DOCUMENT_VIEW)
register_permission(PERMISSION_DOCUMENT_DELETE)
register_permission(PERMISSION_DOCUMENT_DOWNLOAD)
register_permission(PERMISSION_DOCUMENT_TRANSFORM)
register_permission(PERMISSION_DOCUMENT_TOOLS)
register_permission(PERMISSION_DOCUMENT_VERSION_REVERT)

# Document type permissions
set_namespace_title("documents_setup", _(u"Documents setup"))
register_permission(PERMISSION_DOCUMENT_TYPE_EDIT)
register_permission(PERMISSION_DOCUMENT_TYPE_DELETE)
register_permission(PERMISSION_DOCUMENT_TYPE_CREATE)
Ejemplo n.º 8
0
from navigation.api import register_sidebar_template

from documents.models import Document

from taggit.models import Tag

from tags.widgets import tag_color_block

PERMISSION_TAG_CREATE = {'namespace': 'tags', 'name': 'tag_create', 'label': _(u'Create new tags')}
PERMISSION_TAG_ATTACH = {'namespace': 'tags', 'name': 'tag_attach', 'label': _(u'Attach exising tags')}
PERMISSION_TAG_REMOVE = {'namespace': 'tags', 'name': 'tag_remove', 'label': _(u'Remove tags from documents')}
PERMISSION_TAG_DELETE = {'namespace': 'tags', 'name': 'tag_delete', 'label': _(u'Delete global tags')}
PERMISSION_TAG_EDIT = {'namespace': 'tags', 'name': 'tag_edit', 'label': _(u'Edit global tags')}
PERMISSION_TAG_VIEW = {'namespace': 'tags', 'name': 'tag_view', 'label': _(u'View a document\'s tags')}

set_namespace_title('tags', _(u'Tags'))
register_permission(PERMISSION_TAG_CREATE)
register_permission(PERMISSION_TAG_ATTACH)
register_permission(PERMISSION_TAG_REMOVE)
register_permission(PERMISSION_TAG_DELETE)
register_permission(PERMISSION_TAG_EDIT)
register_permission(PERMISSION_TAG_VIEW)

tag_list = {'text': _(u'tag list'), 'view': 'tag_list', 'famfam': 'tag_blue'}
tag_add_attach = {'text': _(u'attach tag'), 'view': 'tag_add_attach', 'args': 'object.pk', 'famfam': 'tag_blue_add', 'permission': [PERMISSION_TAG_CREATE, PERMISSION_TAG_ATTACH]}
tag_document_remove = {'text': _(u'remove'), 'view': 'tag_remove', 'args': ['object.id', 'document.id'], 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_REMOVE]}
tag_document_remove_multiple = {'text': _(u'remove'), 'view': 'tag_multiple_remove', 'args': 'document.id', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_REMOVE]}
tag_document_list = {'text': _(u'tags'), 'view': 'document_tags', 'args': 'object.pk', 'famfam': 'tag_blue', 'permissions': [PERMISSION_TAG_REMOVE]}
tag_delete = {'text': _(u'delete'), 'view': 'tag_delete', 'args': 'object.id', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_DELETE]}
tag_edit = {'text': _(u'edit'), 'view': 'tag_edit', 'args': 'object.id', 'famfam': 'tag_blue_edit', 'permissions': [PERMISSION_TAG_EDIT]}
tag_tagged_item_list = {'text': _(u'tagged documents'), 'view': 'tag_tagged_item_list', 'args': 'object.id', 'famfam': 'page'}
Ejemplo n.º 9
0
from navigation.api import register_links, \
    register_model_list_columns
from permissions.api import register_permission, set_namespace_title

from django.contrib.comments.models import Comment
from django.conf import settings

if 'django.contrib.comments' not in settings.INSTALLED_APPS:
    raise Exception('This app depends on the django.contrib.comments app.')

PERMISSION_COMMENT_CREATE = {'namespace': 'comments', 'name': 'comment_create', 'label': _(u'Create new comments')}
PERMISSION_COMMENT_DELETE = {'namespace': 'comments', 'name': 'comment_delete', 'label': _(u'Delete comments')}
PERMISSION_COMMENT_EDIT = {'namespace': 'comments', 'name': 'comment_edit', 'label': _(u'Edit comments')}
PERMISSION_COMMENT_VIEW = {'namespace': 'comments', 'name': 'comment_view', 'label': _(u'View comments')}

set_namespace_title('comments', _(u'Comments'))
register_permission(PERMISSION_COMMENT_CREATE)
register_permission(PERMISSION_COMMENT_DELETE)
register_permission(PERMISSION_COMMENT_EDIT)
register_permission(PERMISSION_COMMENT_VIEW)

comment_delete = {'text': _('delete'), 'view': 'comment_delete', 'args': 'object.id', 'famfam': 'comment_delete', 'permissions': [PERMISSION_COMMENT_DELETE]}
comment_multiple_delete = {'text': _('delete'), 'view': 'comment_multiple_delete', 'args': 'object.id', 'famfam': 'comments_delete', 'permissions': [PERMISSION_COMMENT_DELETE]}
comment_add = {'text': _('add comment'), 'view': 'comment_add', 'args': 'object.id', 'famfam': 'comment_add', 'permissions': [PERMISSION_COMMENT_CREATE]}
comments_for_object = {'text': _('comments'), 'view': 'comments_for_object', 'args': 'object.id', 'famfam': 'comments', 'permissions': [PERMISSION_COMMENT_VIEW]}

register_model_list_columns(Comment, [
    {
        'name': _(u'date'),
        'attribute': 'submit_date'
    },
Ejemplo n.º 10
0
from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu, register_links
from permissions import role_list, permission_views
from user_management import user_list, group_list, user_management_views
from permissions.api import register_permission, set_namespace_title

from main.conf.settings import SIDE_BAR_SEARCH

PERMISSION_MAIN_TOOLS = {'namespace': 'main', 'name': 'main_tools', 'label': _(u'Can access tools menu')}
PERMISSION_MAIN_SETUP = {'namespace': 'main', 'name': 'main_setup', 'label': _(u'Can access setup menu')}

set_namespace_title('main', _(u'Main'))
register_permission(PERMISSION_MAIN_TOOLS)
register_permission(PERMISSION_MAIN_SETUP)


def is_superuser(context):
    return context['request'].user.is_staff or context['request'].user.is_superuser

check_settings = {'text': _(u'settings'), 'view': 'setting_list', 'famfam': 'cog'}
statistics = {'text': _(u'statistics'), 'view': 'statistics', 'famfam': 'table'}
diagnostics = {'text': _(u'diagnostics'), 'view': 'diagnostics', 'famfam': 'pill'}
tools_menu = {'text': _(u'tools'), 'view': 'tools_menu', 'famfam': 'wrench'}
admin_site = {'text': _(u'admin site'), 'url': '/admin', 'famfam': 'keyboard', 'condition': is_superuser}
sentry = {'text': _(u'sentry'), 'url': '/sentry', 'famfam': 'bug', 'condition': is_superuser}


register_top_menu('home', link={'text': _(u'home'), 'view': 'home', 'famfam': 'house'}, position=0)
if not SIDE_BAR_SEARCH:
    register_top_menu('search', link={'text': _(u'search'), 'view': 'search', 'famfam': 'zoom'}, children_path_regex=[r'^search/'])
Ejemplo n.º 11
0
    'namespace': 'linking',
    'name': 'smart_link_create',
    'label': _(u'Create new smart links')
}
PERMISSION_SMART_LINK_DELETE = {
    'namespace': 'linking',
    'name': 'smart_link_delete',
    'label': _(u'Delete smart links')
}
PERMISSION_SMART_LINK_EDIT = {
    'namespace': 'linking',
    'name': 'smart_link_edit',
    'label': _(u'Edit smart links')
}

set_namespace_title('linking', _(u'Smart links'))
register_permission(PERMISSION_SMART_LINK_VIEW)
register_permission(PERMISSION_SMART_LINK_CREATE)
register_permission(PERMISSION_SMART_LINK_DELETE)
register_permission(PERMISSION_SMART_LINK_EDIT)

smart_link_instance_view_link = {
    'text': _(u'smart links actions'),
    'view': 'smart_link_instance_view',
    'famfam': 'page_link',
    'permissions': [PERMISSION_DOCUMENT_VIEW]
}
smart_link_instances_for_document = {
    'text': _(u'smart links'),
    'view': 'smart_link_instances_for_document',
    'args': 'object.pk',
Ejemplo n.º 12
0
    'namespace': 'sources_setup',
    'name': 'sources_setup_edit',
    'label': _(u'Edit document sources')
}
PERMISSION_SOURCES_SETUP_DELETE = {
    'namespace': 'sources_setup',
    'name': 'sources_setup_delete',
    'label': _(u'Delete document sources')
}
PERMISSION_SOURCES_SETUP_CREATE = {
    'namespace': 'sources_setup',
    'name': 'sources_setup_create',
    'label': _(u'Create new document sources')
}

set_namespace_title('sources_setup', _(u'Sources setup'))
register_permission(PERMISSION_SOURCES_SETUP_VIEW)
register_permission(PERMISSION_SOURCES_SETUP_EDIT)
register_permission(PERMISSION_SOURCES_SETUP_DELETE)
register_permission(PERMISSION_SOURCES_SETUP_CREATE)

staging_file_preview = {
    'text': _(u'preview'),
    'class': 'fancybox-noscaling',
    'view': 'staging_file_preview',
    'args': ['source.source_type', 'source.pk', 'object.id'],
    'famfam': 'zoom'
}
staging_file_delete = {
    'text': _(u'delete'),
    'view': 'staging_file_delete',
Ejemplo n.º 13
0
from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu, register_sidebar_template, \
    register_links
from permissions.api import register_permission, set_namespace_title
from main.api import register_maintenance
from documents.literals import PERMISSION_DOCUMENT_VIEW
from documents.models import Document

from document_indexing.models import IndexInstance

PERMISSION_DOCUMENT_INDEXING_VIEW = {'namespace': 'document_indexing', 'name': 'document_index_view', 'label': _(u'View document indexes')}
PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES = {'namespace': 'document_indexing', 'name': 'document_rebuild_indexes', 'label': _(u'Rebuild document indexes')}

set_namespace_title('document_indexing', _(u'Indexing'))
register_permission(PERMISSION_DOCUMENT_INDEXING_VIEW)
register_permission(PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES)

index_list = {'text': _(u'index list'), 'view': 'index_instance_list', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW]}
index_parent = {'text': _(u'go up one level'), 'view': 'index_instance_list', 'args': 'object.parent.pk', 'famfam': 'arrow_up', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW], 'dont_mark_active': True}
document_index_list = {'text': _(u'indexes'), 'view': 'document_index_list', 'args': 'object.pk', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW, PERMISSION_DOCUMENT_VIEW]}

register_top_menu('indexes', link={'text': _('indexes'), 'famfam': 'folder_page', 'view': 'index_instance_list'})

rebuild_index_instances = {'text': _('rebuild indexes'), 'view': 'rebuild_index_instances', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES], 'description': _(u'Deletes and creates from scratch all the document indexes.')}

register_maintenance(rebuild_index_instances, namespace='document_indexing', title=_(u'Indexes'))

register_sidebar_template(['index_instance_list'], 'indexing_help.html')

register_links(IndexInstance, [index_parent])
Ejemplo n.º 14
0
from common.utils import encapsulate
from project_setup.api import register_setup
from documents.models import Document
from documents.literals import PERMISSION_DOCUMENT_CREATE

from sources.staging import StagingFile
from sources.models import WebForm, StagingFolder, SourceTransformation, \
    WatchFolder
from sources.widgets import staging_file_thumbnail

PERMISSION_SOURCES_SETUP_VIEW = {'namespace': 'sources_setup', 'name': 'sources_setup_view', 'label': _(u'View existing document sources')}
PERMISSION_SOURCES_SETUP_EDIT = {'namespace': 'sources_setup', 'name': 'sources_setup_edit', 'label': _(u'Edit document sources')}
PERMISSION_SOURCES_SETUP_DELETE = {'namespace': 'sources_setup', 'name': 'sources_setup_delete', 'label': _(u'Delete document sources')}
PERMISSION_SOURCES_SETUP_CREATE = {'namespace': 'sources_setup', 'name': 'sources_setup_create', 'label': _(u'Create new document sources')}

set_namespace_title('sources_setup', _(u'Sources setup'))
register_permission(PERMISSION_SOURCES_SETUP_VIEW)
register_permission(PERMISSION_SOURCES_SETUP_EDIT)
register_permission(PERMISSION_SOURCES_SETUP_DELETE)
register_permission(PERMISSION_SOURCES_SETUP_CREATE)

staging_file_preview = {'text': _(u'preview'), 'class': 'fancybox-noscaling', 'view': 'staging_file_preview', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'zoom'}
staging_file_delete = {'text': _(u'delete'), 'view': 'staging_file_delete', 'args': ['source.source_type', 'source.pk', 'object.id'], 'famfam': 'delete', 'keep_query': True}

setup_sources = {'text': _(u'sources'), 'view': 'setup_web_form_list', 'famfam': 'application_form', 'icon': 'application_form.png', 'children_classes': [WebForm]}
setup_web_form_list = {'text': _(u'web forms'), 'view': 'setup_web_form_list', 'famfam': 'application_form', 'icon': 'application_form.png', 'children_classes': [WebForm]}
setup_staging_folder_list = {'text': _(u'staging folders'), 'view': 'setup_staging_folder_list', 'famfam': 'folder_camera', 'children_classes': [StagingFolder]}
setup_watch_folder_list = {'text': _(u'watch folders'), 'view': 'setup_watch_folder_list', 'famfam': 'folder_magnify', 'children_classes': [WatchFolder]}

setup_source_edit = {'text': _(u'edit'), 'view': 'setup_source_edit', 'args': ['source.source_type', 'source.pk'], 'famfam': 'application_form_edit'}
setup_source_delete = {'text': _(u'delete'), 'view': 'setup_source_delete', 'args': ['source.source_type', 'source.pk'], 'famfam': 'application_form_delete'}
Ejemplo n.º 15
0
    'namespace': 'metadata_setup',
    'name': u'metadata_set_create',
    'label': _(u'Create new metadata sets')
}
PERMISSION_METADATA_SET_DELETE = {
    'namespace': 'metadata_setup',
    'name': u'metadata_set_delete',
    'label': _(u'Delete metadata sets')
}
PERMISSION_METADATA_SET_VIEW = {
    'namespace': 'metadata_setup',
    'name': u'metadata_set_view',
    'label': _(u'View metadata sets')
}

set_namespace_title('metadata', _(u'Metadata'))
register_permission(PERMISSION_METADATA_DOCUMENT_EDIT)
register_permission(PERMISSION_METADATA_DOCUMENT_ADD)
register_permission(PERMISSION_METADATA_DOCUMENT_REMOVE)
register_permission(PERMISSION_METADATA_DOCUMENT_VIEW)

set_namespace_title('metadata_setup', _(u'Metadata setup'))
register_permission(PERMISSION_METADATA_TYPE_EDIT)
register_permission(PERMISSION_METADATA_TYPE_CREATE)
register_permission(PERMISSION_METADATA_TYPE_DELETE)
register_permission(PERMISSION_METADATA_TYPE_VIEW)

register_permission(PERMISSION_METADATA_SET_EDIT)
register_permission(PERMISSION_METADATA_SET_CREATE)
register_permission(PERMISSION_METADATA_SET_DELETE)
register_permission(PERMISSION_METADATA_SET_VIEW)
Ejemplo n.º 16
0
def is_min_zoom(context):
    return context['zoom'] <= ZOOM_MIN_LEVEL


def is_max_zoom(context):
    return context['zoom'] >= ZOOM_MAX_LEVEL


def is_current_version(context):
    return context['object'].document.latest_version.timestamp == context[
        'object'].timestamp


# Permission setup
set_namespace_title('documents', _(u'Documents'))
register_permission(PERMISSION_DOCUMENT_CREATE)
register_permission(PERMISSION_DOCUMENT_PROPERTIES_EDIT)
register_permission(PERMISSION_DOCUMENT_EDIT)
register_permission(PERMISSION_DOCUMENT_VIEW)
register_permission(PERMISSION_DOCUMENT_DELETE)
register_permission(PERMISSION_DOCUMENT_DOWNLOAD)
register_permission(PERMISSION_DOCUMENT_TRANSFORM)
register_permission(PERMISSION_DOCUMENT_TOOLS)
register_permission(PERMISSION_DOCUMENT_VERSION_REVERT)

# Document type permissions
set_namespace_title('documents_setup', _(u'Documents setup'))
register_permission(PERMISSION_DOCUMENT_TYPE_EDIT)
register_permission(PERMISSION_DOCUMENT_TYPE_DELETE)
register_permission(PERMISSION_DOCUMENT_TYPE_CREATE)
Ejemplo n.º 17
0
from documents.models import Document

from document_indexing.models import IndexInstance

PERMISSION_DOCUMENT_INDEXING_VIEW = {
    "namespace": "document_indexing",
    "name": "document_index_view",
    "label": _(u"View document indexes"),
}
PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES = {
    "namespace": "document_indexing",
    "name": "document_rebuild_indexes",
    "label": _(u"Rebuild document indexes"),
}

set_namespace_title("document_indexing", _(u"Indexing"))
register_permission(PERMISSION_DOCUMENT_INDEXING_VIEW)
register_permission(PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES)

index_list = {
    "text": _(u"index list"),
    "view": "index_instance_list",
    "famfam": "folder_page",
    "permissions": [PERMISSION_DOCUMENT_INDEXING_VIEW],
}
index_parent = {
    "text": _(u"go up one level"),
    "view": "index_instance_list",
    "args": "object.parent.pk",
    "famfam": "arrow_up",
    "permissions": [PERMISSION_DOCUMENT_INDEXING_VIEW],
Ejemplo n.º 18
0
from linking.models import SmartLink, SmartLinkCondition

PERMISSION_SMART_LINK_VIEW = {
    "namespace": "linking",
    "name": "smart_link_view",
    "label": _(u"View existing smart links"),
}
PERMISSION_SMART_LINK_CREATE = {
    "namespace": "linking",
    "name": "smart_link_create",
    "label": _(u"Create new smart links"),
}
PERMISSION_SMART_LINK_DELETE = {"namespace": "linking", "name": "smart_link_delete", "label": _(u"Delete smart links")}
PERMISSION_SMART_LINK_EDIT = {"namespace": "linking", "name": "smart_link_edit", "label": _(u"Edit smart links")}

set_namespace_title("linking", _(u"Smart links"))
register_permission(PERMISSION_SMART_LINK_VIEW)
register_permission(PERMISSION_SMART_LINK_CREATE)
register_permission(PERMISSION_SMART_LINK_DELETE)
register_permission(PERMISSION_SMART_LINK_EDIT)

smart_link_instance_view_link = {
    "text": _(u"smart links actions"),
    "view": "smart_link_instance_view",
    "famfam": "page_link",
    "permissions": [PERMISSION_DOCUMENT_VIEW],
}
smart_link_instances_for_document = {
    "text": _(u"smart links"),
    "view": "smart_link_instances_for_document",
    "args": "object.pk",
Ejemplo n.º 19
0
    'namespace': 'tags',
    'name': 'tag_delete',
    'label': _(u'Delete global tags')
}
PERMISSION_TAG_EDIT = {
    'namespace': 'tags',
    'name': 'tag_edit',
    'label': _(u'Edit global tags')
}
PERMISSION_TAG_VIEW = {
    'namespace': 'tags',
    'name': 'tag_view',
    'label': _(u'View a document\'s tags')
}

set_namespace_title('tags', _(u'Tags'))
register_permission(PERMISSION_TAG_CREATE)
register_permission(PERMISSION_TAG_ATTACH)
register_permission(PERMISSION_TAG_REMOVE)
register_permission(PERMISSION_TAG_DELETE)
register_permission(PERMISSION_TAG_EDIT)
register_permission(PERMISSION_TAG_VIEW)

tag_list = {'text': _(u'tag list'), 'view': 'tag_list', 'famfam': 'tag_blue'}
tag_create = {
    'text': _(u'create new tag'),
    'view': 'tag_create',
    'famfam': 'tag_blue_add'
}
tag_add_attach = {
    'text': _(u'attach tag'),
Ejemplo n.º 20
0
from permissions.api import register_permission, set_namespace_title
from common.utils import two_state_template

from reminder_comments import comments_for_object

from reminders.models import Reminder, Participant

PERMISSION_REMINDER_VIEW = {'namespace': 'reminders', 'name': 'reminder_view', 'label': _(u'View reminder')}
PERMISSION_REMINDER_VIEW_ALL = {'namespace': 'reminders', 'name': 'reminder_view_all', 'label': _(u'View all reminders')}
PERMISSION_REMINDER_CREATE = {'namespace': 'reminders', 'name': 'reminder_create', 'label': _(u'Create reminder')}
PERMISSION_REMINDER_EDIT = {'namespace': 'reminders', 'name': 'reminder_edit', 'label': _(u'Edit reminder')}
PERMISSION_REMINDER_EDIT_ALL = {'namespace': 'reminders', 'name': 'reminder_edit_all', 'label': _(u'Edit all reminders')}
PERMISSION_REMINDER_DELETE = {'namespace': 'reminders', 'name': 'reminder_delete', 'label': _(u'Delete reminder')}
PERMISSION_REMINDER_DELETE_ALL = {'namespace': 'reminders', 'name': 'reminder_delete_all', 'label': _(u'Delete all reminders')}

set_namespace_title('reminders', _(u'Reminders'))
register_permission(PERMISSION_REMINDER_VIEW)
register_permission(PERMISSION_REMINDER_VIEW_ALL)
register_permission(PERMISSION_REMINDER_CREATE)
register_permission(PERMISSION_REMINDER_EDIT)
register_permission(PERMISSION_REMINDER_EDIT_ALL)
register_permission(PERMISSION_REMINDER_DELETE)
register_permission(PERMISSION_REMINDER_DELETE_ALL)

reminder_list = {'text': _(u'reminder list'), 'view': 'reminder_list', 'famfam': 'hourglass', 'permissions': [PERMISSION_REMINDER_VIEW]}
reminder_list_all = {'text': _(u'reminder list (all)'), 'view': 'reminder_list_all', 'famfam': 'hourglass', 'permissions': [PERMISSION_REMINDER_VIEW_ALL]}
expired_remider_list = {'text': _(u'expired reminder list'), 'view': 'expired_remider_list', 'famfam': 'tick', 'permissions': [PERMISSION_REMINDER_VIEW]}
expired_remider_list_all = {'text': _(u'expired reminder list (all)'), 'view': 'expired_remider_list_all', 'famfam': 'tick', 'permissions': [PERMISSION_REMINDER_VIEW_ALL]}
reminder_add = {'text': _(u'create reminder (calendar)'), 'view': 'reminder_add', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_REMINDER_CREATE]}
reminder_add_days = {'text': _(u'create reminder (days)'), 'view': 'reminder_add_days', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_REMINDER_CREATE]}
reminder_edit = {'text': _(u'edit (calendar)'), 'view': 'reminder_edit', 'args': 'object.pk', 'famfam': 'hourglass_go', 'permissions': [PERMISSION_REMINDER_EDIT]}
Ejemplo n.º 21
0
from navigation.api import register_links, register_top_menu, register_multi_item_links
from permissions.api import register_permission, set_namespace_title
from documents.models import Document
from main.api import register_tool

from ocr.conf.settings import AUTOMATIC_OCR
from ocr.models import DocumentQueue

#Permissions
PERMISSION_OCR_DOCUMENT = {'namespace': 'ocr', 'name': 'ocr_document', 'label': _(u'Submit document for OCR')}
PERMISSION_OCR_DOCUMENT_DELETE = {'namespace': 'ocr', 'name': 'ocr_document_delete', 'label': _(u'Delete document for OCR queue')}
PERMISSION_OCR_QUEUE_ENABLE_DISABLE = {'namespace': 'ocr', 'name': 'ocr_queue_enable_disable', 'label': _(u'Can enable/disable an OCR queue')}
PERMISSION_OCR_CLEAN_ALL_PAGES = {'namespace': 'ocr', 'name': 'ocr_clean_all_pages', 'label': _(u'Can execute an OCR clean up on all document pages')}

set_namespace_title('ocr', _(u'OCR'))
register_permission(PERMISSION_OCR_DOCUMENT)
register_permission(PERMISSION_OCR_DOCUMENT_DELETE)
register_permission(PERMISSION_OCR_QUEUE_ENABLE_DISABLE)
register_permission(PERMISSION_OCR_CLEAN_ALL_PAGES)

#Links
submit_document = {'text': _('submit to OCR queue'), 'view': 'submit_document', 'args': 'object.id', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
re_queue_document = {'text': _('re-queue'), 'view': 're_queue_document', 'args': 'object.id', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
re_queue_multiple_document = {'text': _('re-queue'), 'view': 're_queue_multiple_document', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
queue_document_delete = {'text': _(u'delete'), 'view': 'queue_document_delete', 'args': 'object.id', 'famfam': 'hourglass_delete', 'permissions': [PERMISSION_OCR_DOCUMENT_DELETE]}
queue_document_multiple_delete = {'text': _(u'delete'), 'view': 'queue_document_multiple_delete', 'famfam': 'hourglass_delete', 'permissions': [PERMISSION_OCR_DOCUMENT_DELETE]}

document_queue_disable = {'text': _(u'stop queue'), 'view': 'document_queue_disable', 'args': 'object.id', 'famfam': 'control_stop_blue', 'permissions': [PERMISSION_OCR_QUEUE_ENABLE_DISABLE]}
document_queue_enable = {'text': _(u'activate queue'), 'view': 'document_queue_enable', 'args': 'object.id', 'famfam': 'control_play_blue', 'permissions': [PERMISSION_OCR_QUEUE_ENABLE_DISABLE]}
Ejemplo n.º 22
0
from documents.conf.settings import PER_USER_STAGING_DIRECTORY
from documents.literals import PERMISSION_DOCUMENT_CREATE, \
    PERMISSION_DOCUMENT_PROPERTIES_EDIT, PERMISSION_DOCUMENT_VIEW, \
    PERMISSION_DOCUMENT_DELETE, PERMISSION_DOCUMENT_DOWNLOAD, \
    PERMISSION_DOCUMENT_TRANSFORM, PERMISSION_DOCUMENT_TOOLS, \
    PERMISSION_DOCUMENT_EDIT
from documents.literals import PERMISSION_DOCUMENT_TYPE_EDIT, \
    PERMISSION_DOCUMENT_TYPE_DELETE, PERMISSION_DOCUMENT_TYPE_CREATE
from documents.literals import HISTORY_DOCUMENT_CREATED, \
    HISTORY_DOCUMENT_EDITED, HISTORY_DOCUMENT_DELETED
from documents.conf.settings import ZOOM_MAX_LEVEL
from documents.conf.settings import ZOOM_MIN_LEVEL
from documents.widgets import document_thumbnail

# Permission setup
set_namespace_title('documents', _(u'Documents'))
register_permission(PERMISSION_DOCUMENT_CREATE)
register_permission(PERMISSION_DOCUMENT_PROPERTIES_EDIT)
register_permission(PERMISSION_DOCUMENT_EDIT)
register_permission(PERMISSION_DOCUMENT_VIEW)
register_permission(PERMISSION_DOCUMENT_DELETE)
register_permission(PERMISSION_DOCUMENT_DOWNLOAD)
register_permission(PERMISSION_DOCUMENT_TRANSFORM)
register_permission(PERMISSION_DOCUMENT_TOOLS)

# Document type permissions
register_permission(PERMISSION_DOCUMENT_TYPE_EDIT)
register_permission(PERMISSION_DOCUMENT_TYPE_DELETE)
register_permission(PERMISSION_DOCUMENT_TYPE_CREATE)

# History setup
Ejemplo n.º 23
0
from django.utils.translation import ugettext_lazy as _

from permissions.api import register_permission, set_namespace_title
from project_tools.api import register_tool

PERMISSION_HISTORY_VIEW = {
    'namespace': 'history',
    'name': u'history_view',
    'label': _(u'Access the history app')
}

set_namespace_title('history', _(u'History'))
register_permission(PERMISSION_HISTORY_VIEW)

# TODO: support permissions AND operand
history_list = {
    'text': _(u'history'),
    'view': 'history_list',
    'famfam': 'book',
    'icon': 'book.png',
    'permissions': [PERMISSION_HISTORY_VIEW],
    'children_views': ['history_view']
}

register_tool(history_list)
Ejemplo n.º 24
0
from django.utils.translation import ugettext_lazy as _

from permissions.api import register_permission, set_namespace_title
from project_tools.api import register_tool

PERMISSION_HISTORY_VIEW = {'namespace': 'history', 'name': u'history_view', 'label': _(u'Access the history app')}

set_namespace_title('history', _(u'History'))
register_permission(PERMISSION_HISTORY_VIEW)

# TODO: support permissions AND operand
history_list = {'text': _(u'history'), 'view': 'history_list', 'famfam': 'book', 'icon': 'book.png', 'permissions': [PERMISSION_HISTORY_VIEW], 'children_views': ['history_view']}

register_tool(history_list)
Ejemplo n.º 25
0
from navigation.api import register_links, register_multi_item_links
from permissions.api import register_permission, set_namespace_title
from project_setup.api import register_setup

PERMISSION_USER_CREATE = {'namespace': 'user_management', 'name': 'user_create', 'label': _(u'Create new users')}
PERMISSION_USER_EDIT = {'namespace': 'user_management', 'name': 'user_edit', 'label': _(u'Edit existing users')}
PERMISSION_USER_VIEW = {'namespace': 'user_management', 'name': 'user_view', 'label': _(u'View existing users')}
PERMISSION_USER_DELETE = {'namespace': 'user_management', 'name': 'user_delete', 'label': _(u'Delete existing users')}

PERMISSION_GROUP_CREATE = {'namespace': 'user_management', 'name': 'group_create', 'label': _(u'Create new groups')}
PERMISSION_GROUP_EDIT = {'namespace': 'user_management', 'name': 'group_edit', 'label': _(u'Edit existing groups')}
PERMISSION_GROUP_VIEW = {'namespace': 'user_management', 'name': 'group_view', 'label': _(u'View existing groups')}
PERMISSION_GROUP_DELETE = {'namespace': 'user_management', 'name': 'group_delete', 'label': _(u'Delete existing groups')}

set_namespace_title('user_management', _(u'User management'))
register_permission(PERMISSION_USER_CREATE)
register_permission(PERMISSION_USER_EDIT)
register_permission(PERMISSION_USER_VIEW)
register_permission(PERMISSION_USER_DELETE)
register_permission(PERMISSION_GROUP_CREATE)
register_permission(PERMISSION_GROUP_EDIT)
register_permission(PERMISSION_GROUP_VIEW)
register_permission(PERMISSION_GROUP_DELETE)

user_list = {'text': _(u'user list'), 'view': 'user_list', 'famfam': 'user', 'permissions': [PERMISSION_USER_VIEW]}
user_setup = {'text': _(u'users'), 'view': 'user_list', 'famfam': 'user', 'icon': 'user.png', 'permissions': [PERMISSION_USER_VIEW]}
user_edit = {'text': _(u'edit'), 'view': 'user_edit', 'args': 'object.id', 'famfam': 'user_edit', 'permissions': [PERMISSION_USER_EDIT]}
user_add = {'text': _(u'create new user'), 'view': 'user_add', 'famfam': 'user_add', 'permissions': [PERMISSION_USER_CREATE]}
user_delete = {u'text': _('delete'), 'view': 'user_delete', 'args': 'object.id', 'famfam': 'user_delete', 'permissions': [PERMISSION_USER_DELETE]}
user_multiple_delete = {u'text': _('delete'), 'view': 'user_multiple_delete', 'famfam': 'user_delete', 'permissions': [PERMISSION_USER_DELETE]}
Ejemplo n.º 26
0
    'namespace': 'ocr',
    'name': 'ocr_queue_enable_disable',
    'label': _(u'Can enable/disable an OCR queue')
}
PERMISSION_OCR_CLEAN_ALL_PAGES = {
    'namespace': 'ocr',
    'name': 'ocr_clean_all_pages',
    'label': _(u'Can execute an OCR clean up on all document pages')
}
PERMISSION_OCR_QUEUE_EDIT = {
    'namespace': 'ocr_setup',
    'name': 'ocr_queue_edit',
    'label': _(u'Can edit an OCR queue properties')
}

set_namespace_title('ocr', _(u'OCR'))
register_permission(PERMISSION_OCR_DOCUMENT)
register_permission(PERMISSION_OCR_DOCUMENT_DELETE)
register_permission(PERMISSION_OCR_QUEUE_ENABLE_DISABLE)
register_permission(PERMISSION_OCR_CLEAN_ALL_PAGES)

set_namespace_title('ocr_setup', _(u'OCR Setup'))
register_permission(PERMISSION_OCR_QUEUE_EDIT)

#Links
submit_document = {
    'text': _('submit to OCR queue'),
    'view': 'submit_document',
    'args': 'object.id',
    'famfam': 'hourglass_add',
    'permissions': [PERMISSION_OCR_DOCUMENT]
Ejemplo n.º 27
0
from permissions.api import register_permission, set_namespace_title
from project_setup.api import register_setup
from hkp import Key as KeyServerKey

from django_gpg.api import Key

PERMISSION_DOCUMENT_VERIFY = {'namespace': 'django_gpg', 'name': 'document_verify', 'label': _(u'Verify document signatures')}
PERMISSION_KEY_VIEW = {'namespace': 'django_gpg', 'name': 'key_view', 'label': _(u'View keys')}
PERMISSION_KEY_DELETE = {'namespace': 'django_gpg', 'name': 'key_delete', 'label': _(u'Delete keys')}
PERMISSION_KEYSERVER_QUERY = {'namespace': 'django_gpg', 'name': 'keyserver_query', 'label': _(u'Query keyservers')}
PERMISSION_KEY_RECEIVE = {'namespace': 'django_gpg', 'name': 'key_receive', 'label': _(u'Import key from keyservers')}
PERMISSION_SIGNATURE_UPLOAD = {'namespace': 'django_gpg', 'name': 'signature_upload', 'label': _(u'Upload detached signatures')}
PERMISSION_SIGNATURE_DOWNLOAD = {'namespace': 'django_gpg', 'name': 'key_receive', 'label': _(u'Download detached signatures')}

# Permission setup
set_namespace_title('django_gpg', _(u'Signatures'))
register_permission(PERMISSION_DOCUMENT_VERIFY)
register_permission(PERMISSION_KEY_VIEW)
register_permission(PERMISSION_KEY_DELETE)
register_permission(PERMISSION_KEYSERVER_QUERY)
register_permission(PERMISSION_KEY_RECEIVE)
register_permission(PERMISSION_SIGNATURE_UPLOAD)
register_permission(PERMISSION_SIGNATURE_DOWNLOAD)

def has_embedded_signature(context):
    return context['object'].signature_state
    
def doesnt_have_detached_signature(context):
    return context['object'].has_detached_signature() == False    

# Setup views