"""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)