Source code for ciowarehouse.security

"""CioWarehouses secutity functionalities."""

from chrysalio.lib.config import update_acl
from .lib.i18n import _


PRINCIPALS_CIOWAREHOUSE = (
    ('ciowarehouse', _('CioWarehouse module management'), (
        ('viewer', _('View CioWarehouse configuration'), (
            'ciowarehouse-view',)),
        ('editor', _('Edit or view CioWarehouse configuration'), (
            'ciowarehouse-edit', 'ciowarehouse-view'))
    )),
    ('warehouse', _('Warehouse management'), (
        ('viewer', _('View all warehouses'), (
            'warehouse-view',)),
        ('editor', _('Edit or view any warehouse'), (
            'warehouse-edit', 'warehouse-view')),
        ('creator', _('Create a new one or edit or view any warehouse'), (
            'warehouse-create', 'warehouse-edit', 'warehouse-view')),
        ('configurator', _('Configure all warehouses without browsing them'), (
            'warehouse-configure', 'warehouse-edit', 'warehouse-view'))
    ))
)


# =============================================================================
[docs] def includeme(configurator): """Function to include security. :type configurator: :class:`pyramid.config.Configurator` :param configurator: Object used to do configuration declaration within the application. """ update_acl(configurator, PRINCIPALS_CIOWAREHOUSE)