#
# Copyright (c) 2008-2015 Thierry Florac <tflorac AT ulthar.net>
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
__docformat__ = 'restructuredtext'
from pyramid.i18n import TranslationStringFactory
_ = TranslationStringFactory('pyams_thesaurus')
[docs]def includeme(config):
"""Pyramid include"""
from pyams_security.interfaces import SYSTEM_ADMIN_ROLE, ADMIN_USER_ID
from pyams_thesaurus.interfaces import CREATE_THESAURUS_PERMISSION, ADMIN_THESAURUS_PERMISSION, \
MANAGE_THESAURUS_CONTENT_PERMISSION, MANAGE_THESAURUS_EXTRACT_PERMISSION, THESAURUS_ADMIN_ROLE, \
THESAURUS_MANAGER_ROLE, THESAURUS_EXTRACT_MANAGER_ROLE
from pyams_utils.interfaces import VIEW_PERMISSION, VIEW_SYSTEM_PERMISSION
from .include import include_package
include_package(config)
# register custom permissions
config.register_permission({'id': CREATE_THESAURUS_PERMISSION,
'title': _("Create thesaurus")})
config.register_permission({'id': ADMIN_THESAURUS_PERMISSION,
'title': _("Manage thesaurus properties")})
config.register_permission({'id': MANAGE_THESAURUS_CONTENT_PERMISSION,
'title': _("Manage thesaurus content")})
config.register_permission({'id': MANAGE_THESAURUS_EXTRACT_PERMISSION,
'title': _("Manage thesaurus extract")})
# register custom roles
config.register_role({'id': THESAURUS_ADMIN_ROLE,
'title': _("Thesaurus administrator (role)"),
'permissions': {ADMIN_THESAURUS_PERMISSION, MANAGE_THESAURUS_CONTENT_PERMISSION,
MANAGE_THESAURUS_EXTRACT_PERMISSION,
VIEW_PERMISSION, VIEW_SYSTEM_PERMISSION},
'managers': {ADMIN_USER_ID,
'role:{0}'.format(SYSTEM_ADMIN_ROLE)}})
config.register_role({'id': THESAURUS_MANAGER_ROLE,
'title': _("Thesaurus content manager (role)"),
'permissions': {MANAGE_THESAURUS_CONTENT_PERMISSION, MANAGE_THESAURUS_EXTRACT_PERMISSION,
VIEW_PERMISSION, VIEW_SYSTEM_PERMISSION},
'managers': {ADMIN_USER_ID,
'role:{0}'.format(SYSTEM_ADMIN_ROLE),
'role:{0}'.format(THESAURUS_ADMIN_ROLE)}})
config.register_role({'id': THESAURUS_EXTRACT_MANAGER_ROLE,
'title': _("Thesaurus extract manager (role)"),
'permissions': {MANAGE_THESAURUS_EXTRACT_PERMISSION,
VIEW_PERMISSION, VIEW_SYSTEM_PERMISSION},
'managers': {ADMIN_USER_ID,
'role:{0}'.format(SYSTEM_ADMIN_ROLE),
'role:{0}'.format(THESAURUS_ADMIN_ROLE)}})