"""CioDashboard secutity functionalities."""
from __future__ import annotations
from pyramid.config import Configurator
from chrysalio.lib.config import update_acl
from .lib.i18n import _
PRINCIPALS_CIODASHBOARD = (
('dashboard', _('Dashboard management'), (
('viewer', _('View all dashboards'), (
'dashboard-view',)),
('maintainer', _('Maintain all dashboards'), (
'dashboard-view', 'dashboard-maintain')),
('editor', _('Edit or view any dashboard'), (
'dashboard-edit', 'dashboard-view', 'dashboard-maintain')),
('creator', _('Create a new one or edit or view any dashboard'), (
'dashboard-create', 'dashboard-edit', 'dashboard-view',
'dashboard-maintain'))
)),
)
# =============================================================================
[docs]
def includeme(configurator: 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_CIODASHBOARD)