src/pyams_content/__init__.py
changeset 0 7c0001cacf8e
child 99 3af8f6523bb0
equal deleted inserted replaced
-1:000000000000 0:7c0001cacf8e
       
     1 #
       
     2 # Copyright (c) 2008-2015 Thierry Florac <tflorac AT ulthar.net>
       
     3 # All Rights Reserved.
       
     4 #
       
     5 # This software is subject to the provisions of the Zope Public License,
       
     6 # Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
       
     7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
       
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
       
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
       
    10 # FOR A PARTICULAR PURPOSE.
       
    11 #
       
    12 
       
    13 __docformat__ = 'restructuredtext'
       
    14 
       
    15 
       
    16 from pyramid.i18n import TranslationStringFactory
       
    17 _ = TranslationStringFactory('pyams_content')
       
    18 
       
    19 
       
    20 def includeme(config):
       
    21     """Pyramid include"""
       
    22 
       
    23     from .include import include_package
       
    24     include_package(config)
       
    25 
       
    26     from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION, \
       
    27         CREATE_CONTENT_PERMISSION, MANAGE_CONTENT_PERMISSION, COMMENT_CONTENT_PERMISSION, PUBLISH_CONTENT_PERMISSION
       
    28     from pyams_utils.interfaces import PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION, \
       
    29         VIEW_SYSTEM_PERMISSION, MANAGE_SECURITY_PERMISSION, MANAGE_ROLES_PERMISSION
       
    30 
       
    31     # register custom permissions
       
    32     config.register_permission({'id': MANAGE_SITE_ROOT_PERMISSION,
       
    33                                 'title': _("Manage site root")})
       
    34     config.register_permission({'id': MANAGE_SITE_PERMISSION,
       
    35                                 'title': _("Manage site")})
       
    36     config.register_permission({'id': MANAGE_TOOL_PERMISSION,
       
    37                                 'title': _("Manage tool")})
       
    38     config.register_permission({'id': CREATE_CONTENT_PERMISSION,
       
    39                                 'title': _("Create content")})
       
    40     config.register_permission({'id': MANAGE_CONTENT_PERMISSION,
       
    41                                 'title': _("Manage content")})
       
    42     config.register_permission({'id': COMMENT_CONTENT_PERMISSION,
       
    43                                 'title': _("Comment content")})
       
    44     config.register_permission({'id': PUBLISH_CONTENT_PERMISSION,
       
    45                                 'title': _("Publish content")})
       
    46 
       
    47     # register custom roles
       
    48     config.register_role({'id': 'pyams.Webmaster',
       
    49                           'title': _("Webmaster (role)"),
       
    50                           'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION,
       
    51                                           VIEW_SYSTEM_PERMISSION, MANAGE_SECURITY_PERMISSION, MANAGE_ROLES_PERMISSION,
       
    52                                           MANAGE_SITE_ROOT_PERMISSION, MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION,
       
    53                                           CREATE_CONTENT_PERMISSION, MANAGE_CONTENT_PERMISSION,
       
    54                                           COMMENT_CONTENT_PERMISSION, PUBLISH_CONTENT_PERMISSION},
       
    55                           'managers': {'system:admin', 'role:system.Manager', 'role:pyams.Webmaster'}})
       
    56     config.register_role({'id': 'pyams.Pilot',
       
    57                           'title': _("Pilot (role)"),
       
    58                           'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION,
       
    59                                           VIEW_SYSTEM_PERMISSION, MANAGE_ROLES_PERMISSION,
       
    60                                           MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION,
       
    61                                           MANAGE_CONTENT_PERMISSION, COMMENT_CONTENT_PERMISSION,
       
    62                                           PUBLISH_CONTENT_PERMISSION},
       
    63                           'managers': {'system:admin', 'role:system.Manager', 'role:pyams.Webmaster'}})
       
    64     config.register_role({'id': 'pyams.Manager',
       
    65                           'title': _("Manager (role)"),
       
    66                           'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION,
       
    67                                           VIEW_SYSTEM_PERMISSION, MANAGE_CONTENT_PERMISSION,
       
    68                                           COMMENT_CONTENT_PERMISSION, PUBLISH_CONTENT_PERMISSION},
       
    69                           'managers': {'system:admin', 'role:system.Manager', 'role:pyams.Webmaster',
       
    70                                        'role:pyams.Pilot'}})
       
    71     config.register_role({'id': 'pyams.Owner',
       
    72                           'title': _("Creator (role)"),
       
    73                           'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION,
       
    74                                           VIEW_SYSTEM_PERMISSION, MANAGE_ROLES_PERMISSION,
       
    75                                           MANAGE_CONTENT_PERMISSION, COMMENT_CONTENT_PERMISSION}})
       
    76     config.register_role({'id': 'pyams.Contributor',
       
    77                           'title': _("Contributor (role)"),
       
    78                           'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION,
       
    79                                           VIEW_SYSTEM_PERMISSION,
       
    80                                           CREATE_CONTENT_PERMISSION, MANAGE_CONTENT_PERMISSION,
       
    81                                           COMMENT_CONTENT_PERMISSION},
       
    82                           'managers': {'system:admin', 'role:system.Manager', 'role:pyams.Webmaster',
       
    83                                        'role:pyams.Pilot', 'role:pyams.Owner'}})
       
    84     config.register_role({'id': 'pyams.Reader',
       
    85                           'title': _("Reader (role)"),
       
    86                           'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, MANAGE_PERMISSION,
       
    87                                           VIEW_SYSTEM_PERMISSION, COMMENT_CONTENT_PERMISSION},
       
    88                           'managers': {'system:admin', 'role:system.Manager', 'role:pyams.Webmaster',
       
    89                                        'role:pyams.Pilot', 'role:pyams.Manager', 'role:pyams.Contributor'}})
       
    90     config.register_role({'id': 'pyams.Operator',
       
    91                           'title': _("Operator (role)"),
       
    92                           'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION, VIEW_SYSTEM_PERMISSION},
       
    93                           'managers': {'system:admin', 'role:system.Manager'}})
       
    94     config.register_role({'id': 'pyams.Guest',
       
    95                           'title': _("Guest user (role)"),
       
    96                           'permissions': {PUBLIC_PERMISSION, VIEW_PERMISSION},
       
    97                           'managers': {'system:admin', 'role:system.Manager', 'role:pyams.Webmaster',
       
    98                                        'role:pyams.Pilot', 'role:pyams.Manager', 'role:pyams.Contributor'}})