|
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'}}) |