示例#1
0
    def register(cls, app_name):
        logger.debug('Trying to import: %s' % app_name)
        try:
            app_module = import_module(app_name)
        except ImportError:
            logger.debug('Unable to import app: %s' % app_name)
        else:
            logger.debug('Trying to import registry from: %s' % app_name)
            try:
                registration = import_module('%s.registry' % app_name)
            except ImportError:
                logger.debug('Unable to import registry for app: %s' %
                             app_name)
            else:
                if not getattr(registration, 'disabled', False):
                    app = App()
                    app.name = app_name
                    # If there are not error go ahead with the stored app instance
                    app.label = getattr(registration, 'label', app_name)
                    app.description = getattr(registration, 'description', u'')

                    for link in getattr(registration, 'setup_links', []):
                        logger.debug('setup link: %s' % link)
                        register_setup(link)

                    for link in getattr(registration, 'tool_links', []):
                        logger.debug('tool link: %s' % link)
                        register_tool(link)

                    for index, link in enumerate(
                            getattr(registration, 'menu_links', [])):
                        logger.debug('menu_link: %s' % link)
                        register_top_menu(name='%s.%s' % (app_name, index),
                                          link=link)
示例#2
0
    def register(cls, app_name):
        logger.debug('Trying to import: %s' % app_name)
        try:
            app_module = import_module(app_name)
        except ImportError:
            logger.debug('Unable to import app: %s' % app_name)
        else:
            logger.debug('Trying to import registry from: %s' % app_name)
            try:
                registration = import_module('%s.registry' % app_name)
            except ImportError:
                logger.debug('Unable to import registry for app: %s' % app_name)
            else:
                if not getattr(registration, 'disabled', False):
                    app = App()
                    app.name=app_name
                    # If there are not error go ahead with the stored app instance
                    app.label = getattr(registration, 'label', app_name)
                    app.description = getattr(registration, 'description', u'')
                          
                    for link in getattr(registration, 'setup_links', []):
                        logger.debug('setup link: %s' % link)
                        register_setup(link) 

                    for link in getattr(registration, 'tool_links', []):
                        logger.debug('tool link: %s' % link)
                        register_tool(link)
                        
                    for index, link in enumerate(getattr(registration, 'menu_links', [])):
                        logger.debug('menu_link: %s' % link)
                        register_top_menu(name='%s.%s' % (app_name, index), link=link)
示例#3
0
    def register(cls, app_name):
        logger.debug('Trying to import: %s' % app_name)
        try:
            app_module = import_module(app_name)
        except ImportError:
            logger.debug('Unable to import app: %s' % app_name)
        else:
            logger.debug('Trying to import registry from: %s' % app_name)
            try:
                registration = import_module('%s.registry' % app_name)
            except ImportError as e:
                logger.debug('Unable to import registry for app: %s; %s' %
                             (app_name, e))
            else:
                if not getattr(registration, 'disabled', False):
                    app = App()
                    app.name = app_name
                    # If there are not error go ahead with the stored app instance
                    app.label = getattr(registration, 'label', app_name)
                    app.description = getattr(registration, 'description', u'')

                    for link in getattr(registration, 'setup_links', []):
                        logger.debug('setup link: %s' % link)
                        register_setup(link)

                    for link in getattr(registration, 'tool_links', []):
                        logger.debug('tool link: %s' % link)
                        register_tool(link)

                    for index, link in enumerate(
                            getattr(registration, 'menu_links', [])):
                        logger.debug('menu_link: %s' % link)
                        register_top_menu(name='%s.%s' % (app_name, index),
                                          link=link)

                    for cleanup_function in getattr(registration,
                                                    'cleanup_functions', []):
                        logger.debug('cleanup_function: %s' % cleanup_function)
                        Cleanup(cleanup_function)

                    for bootstrap_model in getattr(registration,
                                                   'bootstrap_models', []):
                        logger.debug('bootstrap_model: %s' % bootstrap_model)
                        BootstrapModel(
                            model_name=bootstrap_model.get('name'),
                            app_name=app_name,
                            sanitize=bootstrap_model.get('sanitize', True),
                            dependencies=bootstrap_model.get('dependencies'))

                    version_0_api_services = getattr(registration,
                                                     'version_0_api_services',
                                                     [])
                    logger.debug('version_0_api_services: %s' %
                                 version_0_api_services)

                    if version_0_api_services:
                        api_endpoint = APIEndPoint(app_name)

                        for service in version_0_api_services:
                            api_endpoint.add_service(**service)
示例#4
0
    def register(cls, app_name):
        logger.debug('Trying to import: %s' % app_name)
        try:
            app_module = import_module(app_name)
        except ImportError:
            logger.debug('Unable to import app: %s' % app_name)
        else:
            logger.debug('Trying to import registry from: %s' % app_name)
            try:
                registration = import_module('%s.registry' % app_name)
            except ImportError as e:
                logger.debug('Unable to import registry for app: %s; %s' % (app_name, e))
            else:
                if not getattr(registration, 'disabled', False):
                    app = App()
                    app.name = app_name
                    # If there are not error go ahead with the stored app instance
                    app.label = getattr(registration, 'label', app_name)
                    app.description = getattr(registration, 'description', u'')

                    for link in getattr(registration, 'setup_links', []):
                        logger.debug('setup link: %s' % link)
                        register_setup(link)

                    for link in getattr(registration, 'tool_links', []):
                        logger.debug('tool link: %s' % link)
                        register_tool(link)

                    for index, link in enumerate(getattr(registration, 'menu_links', [])):
                        logger.debug('menu_link: %s' % link)
                        register_top_menu(name='%s.%s' % (app_name, index), link=link)

                    for cleanup_function in getattr(registration, 'cleanup_functions', []):
                        logger.debug('cleanup_function: %s' % cleanup_function)
                        Cleanup(cleanup_function)

                    for bootstrap_model in getattr(registration, 'bootstrap_models', []):
                        logger.debug('bootstrap_model: %s' % bootstrap_model)
                        BootstrapModel(model_name=bootstrap_model.get('name'), app_name=app_name, sanitize=bootstrap_model.get('sanitize', True), dependencies=bootstrap_model.get('dependencies'))

                    version_0_api_services = getattr(registration, 'version_0_api_services', [])
                    logger.debug('version_0_api_services: %s' % version_0_api_services)

                    if version_0_api_services:
                        api_endpoint = APIEndPoint(app_name)

                        for service in version_0_api_services:
                            api_endpoint.add_service(**service)
示例#5
0
register_links([Reminder], [comments_for_object], menu_name='form_header')

register_multi_item_links(
    [
        'reminder_list', 'reminder_list_all', 'expired_remider_list',
        'expired_remider_list_all', 'future_expired_remider_list',
        'future_expired_remider_list_all'
    ],
    [
        reminder_multiple_delete
    ]
)

register_top_menu('reminders',
    link={'famfam': 'hourglass', 'text': _(u'reminders'), 'view': 'reminder_list'},
    children_path_regex=[r'^reminders', r'comments'], position=0
)

register_model_list_columns(Reminder, [
        {
            'name': _(u'created'),
            'attribute': lambda x: x.datetime_created
        },
        {
            'name': _(u'expires'),
            'attribute': lambda x: x.datetime_expire
        },
        {
            'name': _('days'),
            'attribute': lambda x: (x.datetime_expire - x.datetime_created).days
        },
示例#6
0
APIEndPoint('tags')

register_model_list_columns(Tag, [
    {
        'name': _('Preview'),
        'attribute': encapsulate(lambda x: single_tag_widget(x))
    },
    {
        'name': _('Tagged items'),
        'attribute': encapsulate(lambda x: x.documents.count())
    }
])

register_model_list_columns(Document, [
    {
        'name': _('Tags'), 'attribute':
        encapsulate(lambda x: get_tags_inline_widget_simple(x))
    },
])

register_top_menu('tags', link={'text': _('Tags'), 'view': 'tags:tag_list', 'famfam': 'tag_blue'})

register_links(Tag, [tag_tagged_item_list, tag_edit, tag_acl_list, tag_delete])
register_links([Tag], [tag_multiple_delete], menu_name='multi_item_links')
register_links([Tag, 'tags:tag_list', 'tags:tag_create'], [tag_list, tag_create], menu_name='secondary_menu')

register_links(Document, [tag_document_list], menu_name='form_header')
register_links(['tags:document_tags', 'tags:tag_remove', 'tags:tag_multiple_remove', 'tags:tag_attach'], [tag_attach], menu_name='sidebar')
register_links(['tags:document_tags'], [single_document_multiple_tag_remove], menu_name='multi_item_links')
register_links([Document], [tag_multiple_attach, multiple_documents_selection_tag_remove, link_spacer], menu_name='multi_item_links')
示例#7
0
from __future__ import absolute_import

from navigation.api import register_top_menu

from .links import link_tools

tool_link = register_top_menu('tools', link=link_tools, position=-3)
示例#8
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu
from project_setup.api import register_setup
from project_tools.api import register_tool

from .links import admin_site, maintenance_menu
from .classes import FrontPageButton  # NOQA

register_top_menu('home',
                  link={
                      'text': _('Home'),
                      'view': 'main:home',
                      'famfam': 'house'
                  },
                  position=0)
register_setup(admin_site)
register_tool(maintenance_menu)
示例#9
0
                                         size=THUMBNAIL_SIZE))
    },
])

register_top_menu(
    'documents',
    link={
        'famfam': 'page',
        'text': _(u'documents'),
        'view': 'document_list_recent'
    },
    children_path_regex=[
        r'^documents/[^t]',
        r'^metadata/[^s]',
        r'comments',
        r'tags/document',
        r'grouping/[^s]',
        r'history/list/for_object/documents',
    ],
    children_view_regex=[r'document_acl', r'smart_link_instance'],
    children_views=[
        'document_folder_list',
        'folder_add_document',
        'document_index_list',
        'upload_version',
    ],
    position=1)

register_sidebar_template(['document_list_recent'],
                          'recent_document_list_help.html')
register_sidebar_template(['document_type_list'], 'document_types_help.html')
示例#10
0
文件: __init__.py 项目: x3n0/mayan
    'icon': 'bug.png',
    'condition': is_superuser
}
admin_site = {
    'text': _(u'admin site'),
    'view': 'admin:index',
    'famfam': 'keyboard',
    'icon': 'keyboard.png',
    'condition': is_superuser
}

if not DISABLE_HOME_VIEW:
    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/'])


def get_version():
    '''
示例#11
0
文件: __init__.py 项目: giangonz/lean
    link_agency_acl_details,
)
from .models import Agency
from .permissions import PERMISSION_AGENCY_VIEW, PERMISSION_AGENCY_EDIT


Link.bind_links([Agency, "agency_list"], [link_agency_list], menu_name="secondary_menu")
# Link.bind_links([Agency], [link_agency_details, link_agency_view, link_agency_edit, link_agency_delete])
Link.bind_links([Agency], [link_agency_acl_details])  # , link_agency_view, link_agency_edit])#, link_agency_delete])

register_model_list_columns(
    Agency,
    [
        # {'name': _(u'registration'), 'attribute': 'registration'},
        {"name": _(u"name"), "attribute": "name"}
    ],
)

register_top_menu("agencies", link=link_agencies, position=1)

class_permissions(Agency, [PERMISSION_AGENCY_VIEW, PERMISSION_AGENCY_EDIT, ACLS_VIEW_ACL, ACLS_EDIT_ACL])

# agency_search = SearchModel('agencies', 'Agency')

# agency_search.add_model_field('prifas', label=_(u'Prifas number'))
# agency_search.add_model_field('registration', label=_(u'Registration'))
# agency_search.add_model_field('name', label=_(u'Name'))
# agency_search.add_model_field('director', label=_(u'Director'))
# agency_search.add_model_field('physical_address', label=_(u'Physical address'))
# agency_search.add_model_field('postal_address', label=_(u'Postal address'))
示例#12
0
Link.bind_links([Agency, 'agency_list', 'agency_add'],
                [link_agency_list, link_agency_add],
                menu_name=u'secondary_menu')

Link.bind_links([AgencyPosition, 'position_add', 'position_list'],
                [link_position_add],
                menu_name=u'sidebar')
Link.bind_links([AgencyPosition], [link_position_edit, link_position_delete])

Link.bind_links([AgencyDepartment, 'department_add', 'department_list'],
                [link_department_add],
                menu_name=u'sidebar')
Link.bind_links([AgencyDepartment],
                [link_department_edit, link_department_delete])

register_top_menu('agencies_menu', link=link_agencies_menu, position=2)

register_model_list_columns(AgencyDepartment, [
    {
        'name':
        _(u'main department?'),
        'attribute':
        encapsulate(
            lambda x: two_state_template(x.main_department).display_small())
    },
    {
        'name': _(u'creation date'),
        'attribute': 'start_date',
    },
    {
        'name': _(u'date disbanding'),
示例#13
0
__version_info__ = {
    'major': 0,
    'minor': 7,
    'micro': 6,
    'releaselevel': 'final',
    'serial': 0
}

#setup_views = []
#setup_views.extend(permission_views)
#setup_views.extend(user_management_views)
#setup_views.extend(['setting_list'])

if not DISABLE_HOME_VIEW:
    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/'])
    
register_top_menu('tools', link=tools_menu, children_views=['statistics', 'history_list', 'formats_list'])
#register_top_menu('setup_menu', link={'text': _(u'setup'), 'view': 'setting_list', 'famfam': 'cog'}, children=setup_views)
register_top_menu('setup_menu', link={'text': _(u'setup'), 'view': 'setting_list', 'famfam': 'cog'}, children_path_regex=[r'^settings/', r'^user_management/', r'^permissions', r'^documents/type', r'^metadata/setup'])
register_top_menu('about', link={'text': _(u'about'), 'view': 'about', 'famfam': 'information'})

register_links(['tools_menu', 'statistics', 'history_list', 'history_view', 'formats_list'], [tools_menu, statistics, history_list, formats_list, sentry], menu_name='secondary_menu')

setup_links = [check_settings, role_list, user_list, group_list, document_types, setup_metadata_type_list, setup_metadata_set_list, admin_site]
register_links(['setting_list'], setup_links, menu_name='secondary_menu')
register_links(permission_views, setup_links, menu_name='secondary_menu')
register_links(user_management_views, setup_links, menu_name='secondary_menu')
register_links(document_type_views, setup_links, menu_name='secondary_menu')
示例#14
0
                          PERMISSION_FOLDER_VIEW,
                          PERMISSION_FOLDER_ADD_DOCUMENT)

register_multi_item_links(['folder_view'], [folder_document_multiple_remove])

register_links(Folder,
               [folder_view, folder_edit, folder_delete, folder_acl_list])

register_links([Folder, 'folder_list', 'folder_create'],
               [folder_list, folder_create],
               menu_name='secondary_menu')

register_top_menu(name='folders',
                  link=folders_main_menu_link,
                  children_views=[
                      'folder_list', 'folder_create', 'folder_edit',
                      'folder_delete', 'folder_view',
                      'folder_document_multiple_remove'
                  ])

register_links(Document, [document_folder_list], menu_name='form_header')

register_sidebar_template(['folder_list'], 'folders_help.html')

register_links(['document_folder_list', 'folder_add_document'],
               [folder_add_document],
               menu_name="sidebar")

register_multi_item_links([
    'document_find_duplicates', 'folder_view', 'index_instance_node_view',
    'document_type_document_list', 'search', 'results', 'document_group_view',
示例#15
0
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/'])

register_top_menu('setup_menu', link={'text': _(u'setup'), 'view': 'setting_list', 'famfam': 'cog'}, children_path_regex=[r'^settings/', r'^user_management/', r'^permissions', r'^documents/type', r'^metadata/setup'])

register_top_menu('about', link={'text': _(u'about'), 'view': 'about', 'famfam': 'information'})

setup_links = [check_settings, role_list, user_list, group_list, admin_site]
register_links(['setting_list'], setup_links, menu_name='secondary_menu')
register_links(permission_views, setup_links, menu_name='secondary_menu')
register_links(user_management_views, setup_links, menu_name='secondary_menu')


__version_info__ = {
    'major': 0,
示例#16
0
from __future__ import absolute_import

from navigation.api import register_top_menu

from .links import link_setup

setup_link = register_top_menu('setup_menu', link=link_setup, position=-2)
示例#17
0
def initialize_document_checkout_extra_methods():
    Document.add_to_class('is_checked_out', lambda document: DocumentCheckout.objects.is_document_checked_out(document))
    Document.add_to_class('check_in', lambda document, user=None: DocumentCheckout.objects.check_in_document(document, user))
    Document.add_to_class('checkout_info', lambda document: DocumentCheckout.objects.document_checkout_info(document))
    Document.add_to_class('checkout_state', lambda document: DocumentCheckout.objects.document_checkout_state(document))
    Document.add_to_class('is_new_versions_allowed', lambda document, user=None: DocumentCheckout.objects.is_document_new_versions_allowed(document, user))


app.conf.CELERYBEAT_SCHEDULE.update({
    'check_expired_check_outs': {
        'task': 'checkouts.tasks.task_check_expired_check_outs',
        'schedule': timedelta(seconds=CHECK_EXPIRED_CHECK_OUTS_INTERVAL),
        'options': {'queue': 'checkouts'}
    },
})

class_permissions(Document, [
    PERMISSION_DOCUMENT_CHECKOUT,
    PERMISSION_DOCUMENT_CHECKIN,
    PERMISSION_DOCUMENT_CHECKIN_OVERRIDE,
    PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE
])

initialize_document_checkout_extra_methods()

register_links(Document, [checkout_info], menu_name='form_header')
register_links(['checkouts:checkout_info', 'checkouts:checkout_document', 'checkouts:checkin_document'], [checkout_document, checkin_document], menu_name="sidebar")
register_top_menu(name='checkouts', link=checkout_list)

APIEndPoint('checkouts')
示例#18
0
    except Exception, exc:
        return exc

register_model_list_columns(Document, [
        {'name':_(u'thumbnail'), 'attribute':
            lambda x: document_thumbnail(x)
        },
        {'name':_(u'tags'), 'attribute':
            lambda x: get_tags_inline_widget_simple(x)
        },
        {'name':_(u'metadata'), 'attribute':
            lambda x: get_metadata_string(x)
        },
    ])

register_top_menu(
    'documents', 
    link={'famfam': 'page', 'text': _(u'documents'), 'view': 'document_list_recent'}, 
    children_path_regex=[
        r'^documents/[^t]', r'^metadata/[^s]', r'comments', r'tags/document', r'grouping/[^s]', r'history/list/for_object/documents'
    ],
    position=0
)

register_sidebar_template(['document_list_recent'], 'recent_document_list_help.html')
register_sidebar_template(['document_type_list'], 'document_types_help.html')

register_links(Document, [document_view_simple], menu_name='form_header', position=0)
register_links(Document, [document_view_advanced], menu_name='form_header', position=1)
register_links(Document, [document_history_view], menu_name='form_header')
示例#19
0
        encapsulate(lambda x: x.tagproperties_set.get().get_color_display()),
    }])

register_links(Tag, [tag_tagged_item_list, tag_edit, tag_delete])

register_multi_item_links(['tag_list'], [tag_multiple_delete])

register_links([
    'tag_list', 'tag_delete', 'tag_edit', 'tag_tagged_item_list',
    'tag_multiple_delete', 'tag_create'
], [tag_list, tag_create],
               menu_name='secondary_menu')

#register_sidebar_template(['document_tags'], 'tags_sidebar_template.html')

register_top_menu('tags',
                  link={
                      'text': _(u'tags'),
                      'view': 'tag_list',
                      'famfam': 'tag_blue'
                  },
                  children_path_regex=[r'^tags/[^d]'])

register_links(Document, [tag_document_list], menu_name='form_header')
register_links(
    ['document_tags', 'tag_add_attach', 'tag_remove', 'tag_multiple_remove'],
    [tag_add_attach],
    menu_name='sidebar')

register_multi_item_links(['document_tags'], [tag_document_remove_multiple])
示例#20
0
from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu

setup_link = register_top_menu('setup_menu', link={'text': _(u'setup'), 'view': 'setup_list', 'famfam': 'cog'}, position=-2)
示例#21
0
from __future__ import absolute_import

from navigation.api import register_top_menu

from .links import link_tools_menu

tool_menu = register_top_menu('tools', link=link_tools_menu, position=-3)
示例#22
0
)
from .models import (
    AnonymousUserSingleton, AutoAdminSingleton, UserLocaleProfile
)
from .settings import (
    AUTO_ADMIN_USERNAME, AUTO_ADMIN_PASSWORD, AUTO_CREATE_ADMIN,
    TEMPORARY_DIRECTORY
)
from .utils import validate_path

logger = logging.getLogger(__name__)

register_links(['common:current_user_details', 'common:current_user_edit', 'common:current_user_locale_profile_details', 'common:current_user_locale_profile_edit', 'common:password_change_view'], [link_current_user_details, link_current_user_edit, link_current_user_locale_profile_details, link_current_user_locale_profile_edit, link_password_change, link_logout], menu_name='secondary_menu')
register_links(['common:about_view', 'common:license_view'], [link_about, link_license], menu_name='secondary_menu')

register_top_menu('about', link_about, position=-1)


@receiver(post_migrate, dispatch_uid='create_superuser_and_anonymous_user')
def create_superuser_and_anonymous_user(sender, **kwargs):
    """
    From https://github.com/lambdalisue/django-qwert/blob/master/qwert/autoscript/__init__.py
    From http://stackoverflow.com/questions/1466827/ --

    Prevent interactive question about wanting a superuser created. (This code
    has to go in this otherwise empty "models" module so that it gets processed by
    the "syncdb" command during database creation.)

    Create our own admin super user automatically.
    """
    if kwargs['app'] == 'common':
示例#23
0
queue_document_list = {'text': _(u'queue document list'), 'view': 'queue_document_list', 'famfam': 'hourglass', 'permissions': [PERMISSION_OCR_DOCUMENT]}
node_active_list = {'text': _(u'active tasks'), 'view': 'node_active_list', 'famfam': 'server_chart', 'permissions': [PERMISSION_OCR_DOCUMENT]}

register_links(Document, [submit_document])
register_links(DocumentQueue, [document_queue_disable, document_queue_enable])

register_multi_item_links(['queue_document_list'], [re_queue_multiple_document, queue_document_multiple_delete])

register_links(['queue_document_list', 'node_active_list'], [queue_document_list, node_active_list], menu_name='secondary_menu')


register_tool(all_document_ocr_cleanup, namespace='ocr', title=_(u'OCR'))

#Menus
register_top_menu('ocr', link={'text': _('OCR'), 'famfam': 'hourglass', 'view': 'queue_document_list'}, children_path_regex=[r'^ocr/'])

try:
    default_queue, created = DocumentQueue.objects.get_or_create(name='default')
    if created:
        default_queue.label = ugettext(u'Default')
        default_queue.save()
except DatabaseError:
    #syncdb
    pass


def document_post_save(sender, instance, **kwargs):
    if kwargs.get('created', False):
        if AUTOMATIC_OCR:
            DocumentQueue.objects.queue_document(instance)
示例#24
0
文件: __init__.py 项目: x3n0/mayan
        is_document_checked_out(document))
    Document.add_to_class('check_in',
                          lambda document, user=None: DocumentCheckout.objects.
                          check_in_document(document, user))
    Document.add_to_class(
        'checkout_info', lambda document: DocumentCheckout.objects.
        document_checkout_info(document))
    Document.add_to_class(
        'checkout_state', lambda document: DocumentCheckout.objects.
        document_checkout_state(document))
    Document.add_to_class('is_new_versions_allowed',
                          lambda document, user=None: DocumentCheckout.objects.
                          is_document_new_versions_allowed(document, user))


register_top_menu(name='checkouts', link=checkout_list)
register_links(Document, [checkout_info], menu_name='form_header')
register_links(['checkout_info', 'checkout_document', 'checkin_document'],
               [checkout_document, checkin_document],
               menu_name="sidebar")

class_permissions(Document, [
    PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN,
    PERMISSION_DOCUMENT_CHECKIN_OVERRIDE,
    PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE
])

CHECK_EXPIRED_CHECK_OUTS_INTERVAL = 60  # Lowest check out expiration allowed
register_interval_job(
    'task_check_expired_check_outs',
    _(u'Check expired check out documents and checks them in.'),
示例#25
0
from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu

#TODO: FIXME dynamic children_path_regext on api register_setup
register_top_menu('setup_menu', link={'text': _(u'setup'), 'view': 'setup_list', 'famfam': 'cog'}, children_path_regex=[r'^settings/', r'^user_management/', r'^permissions', r'^documents/type', r'^metadata/setup', r'sources/setup'], position=-2)
示例#26
0
    folders_main_menu_link
)
from .models import Folder
from .permissions import (
    PERMISSION_FOLDER_ADD_DOCUMENT, PERMISSION_FOLDER_DELETE,
    PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_REMOVE_DOCUMENT,
    PERMISSION_FOLDER_VIEW
)

register_links(Folder, [folder_view, folder_edit, folder_acl_list, folder_delete])
register_links([Folder, 'folders:folder_list', 'folders:folder_create'], [folder_list, folder_create], menu_name='secondary_menu')
register_links(['folders:document_folder_list', 'folders:folder_add_document'], [folder_add_document], menu_name="sidebar")
register_links(Document, [document_folder_list], menu_name='form_header')
register_links([Document], [folder_add_multiple_documents, folder_document_multiple_remove, link_spacer], menu_name='multi_item_links')

register_top_menu(name='folders', link=folders_main_menu_link)

class_permissions(Folder, [
    ACLS_EDIT_ACL, ACLS_VIEW_ACL, PERMISSION_FOLDER_DELETE,
    PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_VIEW
])

class_permissions(Document, [
    PERMISSION_FOLDER_ADD_DOCUMENT, PERMISSION_FOLDER_REMOVE_DOCUMENT
])

register_model_list_columns(Folder, [
    {'name': _('Created'), 'attribute': 'datetime_created'},
    {'name': _('Documents'), 'attribute': encapsulate(lambda x: x.documents.count())},
])
示例#27
0
from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu

tool_link = register_top_menu('tools', link={'text': _(u'tools'), 'view': 'tools_list', 'famfam': 'wrench'}, position=-3)
示例#28
0
        'name': _(u'tagged items'),
        'attribute': encapsulate(lambda x: x.taggit_taggeditem_items.count())
    }
])

register_model_list_columns(Document, [
    {
        'name': _(u'tags'), 'attribute':
        encapsulate(lambda x: get_tags_inline_widget_simple(x))
    },
])

register_links(Tag, [tag_tagged_item_list, tag_edit, tag_delete, tag_acl_list])
register_multi_item_links(['tag_list'], [tag_multiple_delete])
register_links([Tag, 'tag_list', 'tag_create'], [tag_list, tag_create], menu_name='secondary_menu')
register_top_menu('tags', link={'text': _(u'tags'), 'view': 'tag_list', 'famfam': 'tag_blue'}, children_view_regex=[r'^tag_(list|create|delete|edit|tagged|acl)'])

register_links(Document, [tag_document_list], menu_name='form_header')
register_links(['document_tags', 'tag_remove', 'tag_multiple_remove', 'tag_attach'], [tag_attach], menu_name='sidebar')
register_multi_item_links(['document_tags'], [single_document_multiple_tag_remove])

register_multi_item_links(['document_find_duplicates', 'folder_view', 'index_instance_node_view', 'document_type_document_list', 'search', 'results', 'document_group_view', 'document_list', 'document_list_recent', 'tag_tagged_item_list'], [tag_multiple_attach, multiple_documents_selection_tag_remove])

class_permissions(Document, [
    PERMISSION_TAG_ATTACH,
    PERMISSION_TAG_REMOVE,
])

class_permissions(Tag, [
    PERMISSION_TAG_DELETE,
    PERMISSION_TAG_EDIT,
示例#29
0
folder_edit = {'text': _('edit'), 'view': 'folder_edit', 'args': 'object.pk', 'famfam': 'folder_edit', 'permissions': [PERMISSION_FOLDER_EDIT]}
folder_delete = {'text': _('delete'), 'view': 'folder_delete', 'args': 'object.pk', 'famfam': 'folder_delete', 'permissions': [PERMISSION_FOLDER_DELETE]}
folder_document_multiple_remove = {'text': _('remove from folder'), 'view': 'folder_document_multiple_remove', 'args': 'object.pk', 'famfam': 'delete', 'permissions': [PERMISSION_FOLDER_REMOVE_DOCUMENT]}
folder_view = {'text': _(u'folder documents'), 'view': 'folder_view', 'args': 'object.pk', 'famfam': 'folder_go', 'permissions': [PERMISSION_FOLDER_VIEW]}
folder_add_document = {'text': _('add to a folder'), 'view': 'folder_add_document', 'args': 'object.pk', 'famfam': 'add', 'permissions': [PERMISSION_FOLDER_ADD_DOCUMENT]}
document_folder_list = {'text': _(u'folders'), 'view': 'document_folder_list', 'args': 'object.pk', 'famfam': 'folder_user', 'permissions': [PERMISSION_DOCUMENT_VIEW], 'children_view_regex': [r'folder']}

folder_acl_list = {'text': _(u'ACLs'), 'view': 'folder_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]}

register_multi_item_links(['folder_view'], [folder_document_multiple_remove])

register_links(Folder, [folder_view, folder_edit, folder_delete, folder_acl_list])

register_links([Folder, 'folder_list', 'folder_create'], [folder_list, folder_create], menu_name='secondary_menu')

register_top_menu(name='folders', link={'text': _('folders'), 'famfam': 'folder_user', 'view': 'folder_list'}, children_views=['folder_list', 'folder_create', 'folder_edit', 'folder_delete', 'folder_view', 'folder_document_multiple_remove'])

register_links(Document, [document_folder_list], menu_name='form_header')

register_sidebar_template(['folder_list'], 'folders_help.html')

register_links(['document_folder_list', 'folder_add_document'], [folder_add_document], menu_name="sidebar")

class_permissions(Folder, [
    PERMISSION_FOLDER_EDIT,
    PERMISSION_FOLDER_DELETE,
    PERMISSION_FOLDER_VIEW,
    ACLS_EDIT_ACL,
    ACLS_VIEW_ACL
])
示例#30
0
register_links(Folder,
               [folder_view, folder_edit, folder_acl_list, folder_delete])
register_links([Folder, 'folders:folder_list', 'folders:folder_create'],
               [folder_list, folder_create],
               menu_name='secondary_menu')
register_links(['folders:document_folder_list', 'folders:folder_add_document'],
               [folder_add_document],
               menu_name="sidebar")
register_links(Document, [document_folder_list], menu_name='form_header')
register_links([Document], [
    folder_add_multiple_documents, folder_document_multiple_remove, link_spacer
],
               menu_name='multi_item_links')

register_top_menu(name='folders', link=folders_main_menu_link)

class_permissions(Folder, [
    ACLS_EDIT_ACL, ACLS_VIEW_ACL, PERMISSION_FOLDER_DELETE,
    PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_VIEW
])

class_permissions(
    Document,
    [PERMISSION_FOLDER_ADD_DOCUMENT, PERMISSION_FOLDER_REMOVE_DOCUMENT])

register_model_list_columns(Folder, [
    {
        'name': _('Created'),
        'attribute': 'datetime_created'
    },
示例#31
0
文件: __init__.py 项目: matinfo/mayan
folder_delete = {'text': _('delete'), 'view': 'folder_delete', 'args': 'object.pk', 'famfam': 'folder_delete', 'permissions': [PERMISSION_FOLDER_DELETE]}
folder_document_multiple_remove = {'text': _('remove from folder'), 'view': 'folder_document_multiple_remove', 'args': 'object.pk', 'famfam': 'folder_delete', 'permissions': [PERMISSION_FOLDER_REMOVE_DOCUMENT]}
folder_view = {'text': _(u'folder documents'), 'view': 'folder_view', 'args': 'object.pk', 'famfam': 'folder_go', 'permissions': [PERMISSION_FOLDER_VIEW]}
folder_add_document = {'text': _('add to a folder'), 'view': 'folder_add_document', 'args': 'object.pk', 'famfam': 'folder_add', 'permissions': [PERMISSION_FOLDER_ADD_DOCUMENT]}
folder_add_multiple_documents = {'text': _('add to folder'), 'view': 'folder_add_multiple_documents', 'famfam': 'folder_add', 'permissions': [PERMISSION_FOLDER_ADD_DOCUMENT]}
document_folder_list = {'text': _(u'folders'), 'view': 'document_folder_list', 'args': 'object.pk', 'famfam': 'folder_user', 'permissions': [PERMISSION_DOCUMENT_VIEW], 'children_view_regex': [r'folder']}

folder_acl_list = {'text': _(u'ACLs'), 'view': 'folder_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]}

register_multi_item_links(['folder_view'], [folder_document_multiple_remove])

register_links(Folder, [folder_view, folder_edit, folder_delete, folder_acl_list])

register_links([Folder, 'folder_list', 'folder_create'], [folder_list, folder_create], menu_name='secondary_menu')

register_top_menu(name='folders', link={'text': _('folders'), 'famfam': 'folder_user', 'view': 'folder_list'}, children_views=['folder_list', 'folder_create', 'folder_edit', 'folder_delete', 'folder_view', 'folder_document_multiple_remove'])

register_links(Document, [document_folder_list], menu_name='form_header')

register_sidebar_template(['folder_list'], 'folders_help.html')

register_links(['document_folder_list', 'folder_add_document'], [folder_add_document], menu_name="sidebar")

register_multi_item_links(['document_find_duplicates', 'folder_view', 'index_instance_node_view', 'document_type_document_list', 'search', 'results', 'document_group_view', 'document_list', 'document_list_recent', 'tag_tagged_item_list'], [folder_add_multiple_documents])

class_permissions(Folder, [
    PERMISSION_FOLDER_EDIT,
    PERMISSION_FOLDER_DELETE,
    PERMISSION_FOLDER_VIEW,
    ACLS_EDIT_ACL,
    ACLS_VIEW_ACL
示例#32
0
index_setup_list = {'text': _(u'index list'), 'view': 'index_setup_list', 'famfam': 'tab', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}
index_setup_create = {'text': _(u'create index'), 'view': 'index_setup_create', 'famfam': 'tab_add', 'permissions': [PERMISSION_DOCUMENT_INDEXING_CREATE]}
index_setup_edit = {'text': _(u'edit'), 'view': 'index_setup_edit', 'args': 'index.pk', 'famfam': 'tab_edit', 'permissions': [PERMISSION_DOCUMENT_INDEXING_EDIT]}
index_setup_delete = {'text': _(u'delete'), 'view': 'index_setup_delete', 'args': 'index.pk', 'famfam': 'tab_delete', 'permissions': [PERMISSION_DOCUMENT_INDEXING_DELETE]}
index_setup_view = {'text': _(u'tree template'), 'view': 'index_setup_view', 'args': 'index.pk', 'famfam': 'textfield', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}

template_node_create = {'text': _(u'new child node'), 'view': 'template_node_create', 'args': 'node.pk', 'famfam': 'textfield_add', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}
template_node_edit = {'text': _(u'edit'), 'view': 'template_node_edit', 'args': 'node.pk', 'famfam': 'textfield', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP], 'conditional_disable': is_root_node}
template_node_delete = {'text': _(u'delete'), 'view': 'template_node_delete', 'args': 'node.pk', 'famfam': 'textfield_delete', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP], 'conditional_disable': is_root_node}

index_list = {'text': _(u'index list'), 'view': 'index_list', 'famfam': 'tab', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW]}

index_parent = {'text': _(u'go up one level'), 'view': 'index_instance_node_view', 'args': 'object.parent.pk', 'famfam': 'arrow_up', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW], 'dont_mark_active': True, 'condition': is_not_instance_root_node}
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': 'tab', 'view': 'index_list', 'children_view_regex': [r'^index_[i,l]']})

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_links([rebuild_index_instances], namespace='document_indexing', title=_(u'Indexes'))

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

register_links(IndexInstanceNode, [index_parent])

register_links(Document, [document_index_list], menu_name='form_header')

register_setup(index_setup)

register_links([Index, 'index_setup_list', 'index_setup_create', 'template_node_edit', 'template_node_delete'], [index_setup_list, index_setup_create], menu_name='secondary_menu')
示例#33
0
register_links([Reminder], [reminder_participant_list],
               menu_name='form_header')

register_links([Reminder], [comments_for_object], menu_name='form_header')

register_multi_item_links([
    'reminder_list', 'reminder_list_all', 'expired_remider_list',
    'expired_remider_list_all', 'future_expired_remider_list',
    'future_expired_remider_list_all'
], [reminder_multiple_delete])

register_top_menu('reminders',
                  link={
                      'famfam': 'hourglass',
                      'text': _(u'reminders'),
                      'view': 'reminder_list'
                  },
                  children_path_regex=[r'^reminders', r'comments'],
                  position=0)

register_model_list_columns(
    Reminder,
    [{
        'name': _(u'created'),
        'attribute': lambda x: x.datetime_created
    }, {
        'name': _(u'expires'),
        'attribute': lambda x: x.datetime_expire
    }, {
        'name': _('days'),
        'attribute': lambda x: (x.datetime_expire - x.datetime_created).days
示例#34
0
    '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_links([rebuild_index_instances],
                           namespace='document_indexing',
                           title=_(u'Indexes'))
示例#35
0
from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu

#TODO: FIXME dynamic children_path_regext on api register_setup
#register_top_menu('setup_menu', link={'text': _(u'setup'), 'view': 'setup_list', 'famfam': 'cog'}, children_path_regex=[r'^settings/', r'^user_management/', r'^permissions'], position=-2)
register_top_menu('setup_menu', link={'text': _(u'setup'), 'view': 'setup_list'}, children_path_regex=[r'^settings/', r'^user_management/', r'^permissions'], position=-2)
示例#36
0
        'attribute': encapsulate(lambda x: single_tag_widget(x))
    }, {
        'name': _('Tagged items'),
        'attribute': encapsulate(lambda x: x.documents.count())
    }])

register_model_list_columns(Document, [
    {
        'name': _('Tags'),
        'attribute': encapsulate(lambda x: get_tags_inline_widget_simple(x))
    },
])

register_top_menu('tags',
                  link={
                      'text': _('Tags'),
                      'view': 'tags:tag_list',
                      'famfam': 'tag_blue'
                  })

register_links(Tag, [tag_tagged_item_list, tag_edit, tag_acl_list, tag_delete])
register_links([Tag], [tag_multiple_delete], menu_name='multi_item_links')
register_links([Tag, 'tags:tag_list', 'tags:tag_create'],
               [tag_list, tag_create],
               menu_name='secondary_menu')

register_links(Document, [tag_document_list], menu_name='form_header')
register_links([
    'tags:document_tags', 'tags:tag_remove', 'tags:tag_multiple_remove',
    'tags:tag_attach'
], [tag_attach],
               menu_name='sidebar')
示例#37
0

@receiver(post_delete, dispatch_uid='document_index_delete', sender=Document)
def document_index_delete(sender, **kwargs):
    task_delete_empty_index_nodes.apply_async(queue='indexing')


@receiver(post_save, dispatch_uid='document_metadata_index_update', sender=DocumentMetadata)
def document_metadata_index_update(sender, **kwargs):
    task_index_document.apply_async(kwargs=dict(document_id=kwargs['instance'].document.pk), queue='indexing')


@receiver(post_delete, dispatch_uid='document_metadata_index_post_delete', sender=DocumentMetadata)
def document_metadata_index_post_delete(sender, **kwargs):
    task_index_document.apply_async(kwargs=dict(document_id=kwargs['instance'].document.pk), queue='indexing')


register_maintenance_links([rebuild_index_instances], namespace='document_indexing', title=_('Indexes'))

register_links(Document, [document_index_list], menu_name='form_header')
register_links([Index, 'indexing:index_setup_list', 'indexing:index_setup_create'], [index_setup_list, index_setup_create], menu_name='secondary_menu')
register_links(Index, [index_setup_edit, index_setup_view, index_setup_document_types, index_setup_delete])
register_links(IndexInstanceNode, [index_parent])
register_links(IndexTemplateNode, [template_node_create, template_node_edit, template_node_delete])

register_setup(index_setup)

register_top_menu('indexes', document_index_main_menu_link)

APIEndPoint('indexes', app_name='document_indexing')
示例#38
0
from __future__ import unicode_literals

from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu
from project_setup.api import register_setup
from project_tools.api import register_tool

from .links import admin_site, maintenance_menu
from .classes import FrontPageButton  # NOQA

register_top_menu('home', link={'text': _('Home'), 'view': 'main:home', 'famfam': 'house'}, position=0)
register_setup(admin_site)
register_tool(maintenance_menu)
示例#39
0
__credits__ = ['Roberto Rosario',]
__license__ = 'GPL'
__maintainer__ = 'Roberto Rosario'
__email__ = '*****@*****.**'
__status__ = 'Production'

__version_info__ = {
    'major': 1,
    'minor': 0,
    'micro': 0,
    'releaselevel': 'alpha',
    'serial': 0
}

if not DISABLE_HOME_VIEW:
    register_top_menu('home', link=home_link, position=0)


def get_version():
    '''
    Return the formatted version information
    '''
    vers = ['%(major)i.%(minor)i' % __version_info__, ]

    if __version_info__['micro']:
        vers.append('.%(micro)i' % __version_info__)
    if __version_info__['releaselevel'] != 'final':
        vers.append('%(releaselevel)s%(serial)i' % __version_info__)
    return ''.join(vers)

示例#40
0
from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu


#TODO: FIXME dynamic children_path_regext on api register_setup
register_top_menu('tools', link={'text': _(u'tools'), 'view': 'tools_list', 'famfam': 'wrench'}, children_views=['statistics', 'history_list', 'formats_list'], position=-3)
示例#41
0
from __future__ import absolute_import

from django.utils.translation import ugettext_lazy as _

from acls.api import class_permissions
#from agencies.classes import AgencyElement
from common.utils import encapsulate
from dynamic_search.classes import SearchModel
from navigation.api import register_top_menu, register_model_list_columns
from navigation.classes import Link

from .links import (link_project_reports_view)
# prime workflow permissions
from .permissions import (PERMISSION_PROJECT_VIEW)

#Link.bind_links(['project_reports_view'], [link_project_reports_view], menu_name='secondary_menu')

register_top_menu('link_project_reports_view',link=link_project_reports_view)
示例#42
0
register_links([
    'common:current_user_details', 'common:current_user_edit',
    'common:current_user_locale_profile_details',
    'common:current_user_locale_profile_edit', 'common:password_change_view'
], [
    link_current_user_details, link_current_user_edit,
    link_current_user_locale_profile_details,
    link_current_user_locale_profile_edit, link_password_change, link_logout
],
               menu_name='secondary_menu')
register_links(['common:about_view', 'common:license_view'],
               [link_about, link_license],
               menu_name='secondary_menu')

register_top_menu('about', link_about, position=-1)


@receiver(post_migrate, dispatch_uid='create_superuser_and_anonymous_user')
def create_superuser_and_anonymous_user(sender, **kwargs):
    """
    From https://github.com/lambdalisue/django-qwert/blob/master/qwert/autoscript/__init__.py
    From http://stackoverflow.com/questions/1466827/ --

    Prevent interactive question about wanting a superuser created. (This code
    has to go in this otherwise empty "models" module so that it gets processed by
    the "syncdb" command during database creation.)

    Create our own admin super user automatically.
    """
    if kwargs['app'] == 'common':
示例#43
0
    'dont_mark_active': True,
    'condition': is_not_instance_root_node
}
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': 'tab',
                      'view': 'index_list',
                      'children_view_regex': [r'^index_[i,l]']
                  })

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_links([rebuild_index_instances],
                           namespace='document_indexing',
示例#44
0
    'releaselevel': 'beta',
    'serial': 0
}


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

maintenance_menu = {'text': _(u'maintenance'), 'view': 'maintenance_menu', 'famfam': 'wrench', 'icon': 'wrench.png'}
statistics = {'text': _(u'statistics'), 'view': 'statistics', 'famfam': 'table', 'icon': 'blackboard_sum.png', 'condition': is_superuser, 'children_view_regex': [r'statistics']}
diagnostics = {'text': _(u'diagnostics'), 'view': 'diagnostics', 'famfam': 'pill', 'icon': 'pill.png'}
sentry = {'text': _(u'sentry'), 'view': 'sentry', 'famfam': 'bug', 'icon': 'bug.png', 'condition': is_superuser}
admin_site = {'text': _(u'admin site'), 'view': 'admin:index', 'famfam': 'keyboard', 'icon': 'keyboard.png', 'condition': is_superuser}

if not DISABLE_HOME_VIEW:
    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/'])


def get_version():
    '''
    Return the formatted version information
    '''
    vers = ['%(major)i.%(minor)i' % __version_info__, ]

    if __version_info__['micro']:
        vers.append('.%(micro)i' % __version_info__)
    if __version_info__['releaselevel'] != 'final':
        vers.append('%(releaselevel)s%(serial)i' % __version_info__)
    return ''.join(vers)
示例#45
0
Link.bind_links(
    [Agency],
    [link_agency_acl_details
     ])  #, link_agency_view, link_agency_edit])#, link_agency_delete])

register_model_list_columns(
    Agency,
    [
        #{'name': _(u'registration'), 'attribute': 'registration'},
        {
            'name': _(u'name'),
            'attribute': 'name'
        },
    ])

register_top_menu('agencies', link=link_agencies, position=1)

class_permissions(Agency, [
    PERMISSION_AGENCY_VIEW,
    PERMISSION_AGENCY_EDIT,
    ACLS_VIEW_ACL,
    ACLS_EDIT_ACL,
])

#agency_search = SearchModel('agencies', 'Agency')

#agency_search.add_model_field('prifas', label=_(u'Prifas number'))
#agency_search.add_model_field('registration', label=_(u'Registration'))
#agency_search.add_model_field('name', label=_(u'Name'))
#agency_search.add_model_field('director', label=_(u'Director'))
#agency_search.add_model_field('physical_address', label=_(u'Physical address'))
示例#46
0
register_diagnostic('documents', _(u'Documents'), document_missing_list)

register_maintenance_links([document_find_all_duplicates, document_update_page_count, document_clear_image_cache], namespace='documents', title=_(u'documents'))

register_model_list_columns(Document, [
    {'name': _(u'thumbnail'), 'attribute':
        encapsulate(lambda x: document_thumbnail(x, gallery_name='document_list', title=x.filename, size=THUMBNAIL_SIZE))
    },
])

register_top_menu(
    'documents',
    link={'famfam': 'page', 'text': _(u'documents'), 'view': 'document_list_recent'},
    children_path_regex=[
        r'^documents/[^t]', r'^metadata/[^s]', r'comments', r'tags/document', r'grouping/[^s]', r'history/list/for_object/documents',
    ],
    children_view_regex=[r'document_acl', r'smart_link_instance'],
    children_views=['document_folder_list', 'folder_add_document', 'document_index_list', 'upload_version', ],
    position=1
)

register_sidebar_template(['document_list_recent'], 'recent_document_list_help.html')
register_sidebar_template(['document_type_list'], 'document_types_help.html')

register_links(Document, [document_view_simple], menu_name='form_header', position=0)
register_links(Document, [document_view_advanced], menu_name='form_header', position=1)
register_links(Document, [document_history_view], menu_name='form_header')
register_links(Document, [document_version_list], menu_name='form_header')

if (not validate_path(document_settings.CACHE_PATH)) or (not document_settings.CACHE_PATH):
    setattr(document_settings, 'CACHE_PATH', tempfile.mkdtemp())
示例#47
0
from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu

#TODO: FIXME dynamic children_path_regext on api register_setup
register_top_menu('setup_menu',
                  link={
                      'text': _(u'setup'),
                      'view': 'setup_list',
                      'famfam': 'cog'
                  },
                  children_path_regex=[
                      r'^settings/', r'^user_management/', r'^permissions',
                      r'^documents/type', r'^metadata/setup', r'sources/setup',
                      r'grouping/setup'
                  ],
                  position=-2)
示例#48
0
    folder_document_multiple_remove, folder_view, folder_add_document,
    folder_add_multiple_documents, document_folder_list, folder_acl_list,
    folders_main_menu_link)
from .models import Folder
from .permissions import (PERMISSION_FOLDER_CREATE,
    PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_DELETE,
    PERMISSION_FOLDER_REMOVE_DOCUMENT, PERMISSION_FOLDER_VIEW,
    PERMISSION_FOLDER_ADD_DOCUMENT)

register_multi_item_links(['folder_view'], [folder_document_multiple_remove])

register_links(Folder, [folder_view, folder_edit, folder_delete, folder_acl_list])

register_links([Folder, 'folder_list', 'folder_create'], [folder_list, folder_create], menu_name='secondary_menu')

register_top_menu(name='folders', link=folders_main_menu_link, children_views=['folder_list', 'folder_create', 'folder_edit', 'folder_delete', 'folder_view', 'folder_document_multiple_remove'])

register_links(Document, [document_folder_list], menu_name='form_header')

register_sidebar_template(['folder_list'], 'folders_help.html')

register_links(['document_folder_list', 'folder_add_document'], [folder_add_document], menu_name="sidebar")

register_multi_item_links(['document_find_duplicates', 'folder_view', 'index_instance_node_view', 'document_type_document_list', 'search', 'results', 'document_group_view', 'document_list', 'document_list_recent', 'tag_tagged_item_list'], [folder_add_multiple_documents])

class_permissions(Folder, [
    PERMISSION_FOLDER_EDIT,
    PERMISSION_FOLDER_DELETE,
    PERMISSION_FOLDER_VIEW,
    ACLS_EDIT_ACL,
    ACLS_VIEW_ACL
示例#49
0
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'}
tag_multiple_delete = {'text': _(u'delete'), 'view': 'tag_multiple_delete', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_DELETE]}

register_model_list_columns(Tag, [
    {
        'name': _(u'color'),
        'attribute': lambda x: tag_color_block(x)
    },
    {
        'name': _(u'color name'),
        'attribute': lambda x: x.tagproperties_set.get().get_color_display(),
    }
])

register_links(Tag, [tag_tagged_item_list, tag_edit, tag_delete])

register_multi_item_links(['tag_list'], [tag_multiple_delete])

register_links(['tag_list', 'tag_delete', 'tag_edit', 'tag_tagged_item_list', 'tag_multiple_delete'], [tag_list], menu_name='secondary_menu')

#register_sidebar_template(['document_tags'], 'tags_sidebar_template.html')

register_top_menu('tags', link={'text': _(u'tags'), 'view': 'tag_list', 'famfam': 'tag_blue'}, children_path_regex=[r'^tags/[^d]'])

register_links(Document, [tag_document_list], menu_name='form_header')
register_links(['document_tags', 'tag_add_attach', 'tag_remove', 'tag_multiple_remove'], [tag_add_attach], menu_name='sidebar')

register_multi_item_links(['document_tags'], [tag_document_remove_multiple])
示例#50
0
文件: __init__.py 项目: stefanw/mayan
def has_usable_password(context):
    return context['request'].user.has_usable_password

password_change_view = {'text': _(u'change password'), 'view': 'password_change_view', 'famfam': 'computer_key', 'condition': has_usable_password}
current_user_details = {'text': _(u'user details'), 'view': 'current_user_details', 'famfam': 'vcard'}
current_user_edit = {'text': _(u'edit details'), 'view': 'current_user_edit', 'famfam': 'vcard_edit'}

register_links(['current_user_details', 'current_user_edit', 'password_change_view'], [current_user_details, current_user_edit, password_change_view], menu_name='secondary_menu')

about_view = {'text': _('about'), 'view': 'about_view', 'famfam': 'information'}
license_view = {'text': _('license'), 'view': 'license_view', 'famfam': 'script'}

register_links(['about_view', 'license_view'], [about_view, license_view], menu_name='secondary_menu')

register_top_menu('about', link={'text': _(u'about'), 'view': 'about_view', 'famfam': 'information'}, position=-1)


@receiver(post_migrate, dispatch_uid='create_superuser')
def create_superuser(sender, **kwargs):
    """
    From https://github.com/lambdalisue/django-qwert/blob/master/qwert/autoscript/__init__.py
    From http://stackoverflow.com/questions/1466827/ --

    Prevent interactive question about wanting a superuser created. (This code
    has to go in this otherwise empty "models" module so that it gets processed by
    the "syncdb" command during database creation.)

    Create our own admin super user automatically.
    """
示例#51
0
文件: __init__.py 项目: x3n0/mayan
from django.utils.translation import ugettext_lazy as _

from navigation.api import register_top_menu

setup_link = register_top_menu('setup_menu',
                               link={
                                   'text': _(u'setup'),
                                   'view': 'setup_list',
                                   'famfam': 'cog'
                               },
                               position=-2)