Source code for pyams_content

#
# 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_content')


[docs]def includeme(config): """Pyramid include""" from .include import include_package include_package(config) from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION, \ CREATE_CONTENT_PERMISSION, MANAGE_CONTENT_PERMISSION, CREATE_VERSION_PERMISSION, COMMENT_CONTENT_PERMISSION, \ PUBLISH_CONTENT_PERMISSION from pyams_content.interfaces import WEBMASTER_ROLE, PILOT_ROLE, MANAGER_ROLE, OWNER_ROLE, CONTRIBUTOR_ROLE, \ READER_ROLE, OPERATOR_ROLE, GUEST_ROLE from pyams_security.interfaces import ADMIN_USER_ID, SYSTEM_ADMIN_ROLE from pyams_thesaurus.interfaces import CREATE_THESAURUS_PERMISSION, ADMIN_THESAURUS_PERMISSION from pyams_utils.interfaces import PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION, \ VIEW_SYSTEM_PERMISSION, MANAGE_ROLES_PERMISSION, MANAGE_SKIN_PERMISSION # register custom permissions config.register_permission({'id': MANAGE_SITE_ROOT_PERMISSION, 'title': _("Manage site root")}) config.register_permission({'id': MANAGE_SITE_PERMISSION, 'title': _("Manage site")}) config.register_permission({'id': MANAGE_TOOL_PERMISSION, 'title': _("Manage tool")}) config.register_permission({'id': CREATE_CONTENT_PERMISSION, 'title': _("Create content")}) config.register_permission({'id': MANAGE_CONTENT_PERMISSION, 'title': _("Manage content")}) config.register_permission({'id': CREATE_VERSION_PERMISSION, 'title': _("Create version")}) config.register_permission({'id': COMMENT_CONTENT_PERMISSION, 'title': _("Comment content")}) config.register_permission({'id': PUBLISH_CONTENT_PERMISSION, 'title': _("Publish content")}) # update system administrator permissions config.register_role({'id': SYSTEM_ADMIN_ROLE, 'title': _("System manager (role)"), 'permissions': {CREATE_THESAURUS_PERMISSION, ADMIN_THESAURUS_PERMISSION, MANAGE_SITE_ROOT_PERMISSION, MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION, MANAGE_SKIN_PERMISSION}}) # register custom roles config.register_role({'id': WEBMASTER_ROLE, 'title': _("Webmaster (role)"), 'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION, VIEW_SYSTEM_PERMISSION, MANAGE_ROLES_PERMISSION, CREATE_THESAURUS_PERMISSION, ADMIN_THESAURUS_PERMISSION, MANAGE_SITE_ROOT_PERMISSION, MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION, CREATE_CONTENT_PERMISSION, MANAGE_CONTENT_PERMISSION, CREATE_VERSION_PERMISSION, MANAGE_SKIN_PERMISSION, COMMENT_CONTENT_PERMISSION, PUBLISH_CONTENT_PERMISSION}, 'managers': {ADMIN_USER_ID, 'role:{0}'.format(SYSTEM_ADMIN_ROLE), 'role:{0}'.format(WEBMASTER_ROLE)}}) config.register_role({'id': PILOT_ROLE, 'title': _("Pilot (role)"), 'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION, VIEW_SYSTEM_PERMISSION, MANAGE_ROLES_PERMISSION, MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION, MANAGE_CONTENT_PERMISSION, COMMENT_CONTENT_PERMISSION, PUBLISH_CONTENT_PERMISSION}, 'managers': {ADMIN_USER_ID, 'role:{0}'.format(SYSTEM_ADMIN_ROLE), 'role:{0}'.format(WEBMASTER_ROLE)}}) config.register_role({'id': MANAGER_ROLE, 'title': _("Manager (role)"), 'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION, VIEW_SYSTEM_PERMISSION, MANAGE_CONTENT_PERMISSION, CREATE_VERSION_PERMISSION, COMMENT_CONTENT_PERMISSION, PUBLISH_CONTENT_PERMISSION}, 'managers': {ADMIN_USER_ID, 'role:{0}'.format(SYSTEM_ADMIN_ROLE), 'role:{0}'.format(WEBMASTER_ROLE), 'role:pyams.Pilot'}}) config.register_role({'id': OWNER_ROLE, 'title': _("Owner (role)"), 'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION, VIEW_SYSTEM_PERMISSION, MANAGE_ROLES_PERMISSION, MANAGE_CONTENT_PERMISSION, COMMENT_CONTENT_PERMISSION}}) config.register_role({'id': CONTRIBUTOR_ROLE, 'title': _("Contributor (role)"), 'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION, VIEW_SYSTEM_PERMISSION, CREATE_CONTENT_PERMISSION, MANAGE_CONTENT_PERMISSION, CREATE_VERSION_PERMISSION, COMMENT_CONTENT_PERMISSION}, 'managers': {ADMIN_USER_ID, 'role:{0}'.format(SYSTEM_ADMIN_ROLE), 'role:{0}'.format(WEBMASTER_ROLE), 'role:pyams.Pilot', 'role:pyams.Owner'}}) config.register_role({'id': READER_ROLE, 'title': _("Reader (role)"), 'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION, VIEW_SYSTEM_PERMISSION, COMMENT_CONTENT_PERMISSION}, 'managers': {ADMIN_USER_ID, 'role:{0}'.format(SYSTEM_ADMIN_ROLE), 'role:{0}'.format(WEBMASTER_ROLE), 'role:pyams.Pilot', 'role:pyams.Manager', 'role:pyams.Contributor'}}) config.register_role({'id': OPERATOR_ROLE, 'title': _("Operator (role)"), 'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, VIEW_SYSTEM_PERMISSION}, 'managers': {ADMIN_USER_ID, 'role:{0}'.format(SYSTEM_ADMIN_ROLE)}}) config.register_role({'id': GUEST_ROLE, 'title': _("Guest user (role)"), 'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION}, 'managers': {ADMIN_USER_ID, 'role:{0}'.format(SYSTEM_ADMIN_ROLE), 'role:{0}'.format(WEBMASTER_ROLE), 'role:pyams.Pilot', 'role:pyams.Manager', 'role:pyams.Contributor'}})