equal
deleted
inserted
replaced
16 |
16 |
17 |
17 |
18 # import standard library |
18 # import standard library |
19 |
19 |
20 # import interfaces |
20 # import interfaces |
|
21 from pyams_content.features.preview.interfaces import IPreviewTarget |
21 from pyams_content.interfaces import WEBMASTER_ROLE, OPERATOR_ROLE |
22 from pyams_content.interfaces import WEBMASTER_ROLE, OPERATOR_ROLE |
22 from pyams_content.root.interfaces import ISiteRootRoles, ISiteRootConfiguration, ISiteRoot, \ |
23 from pyams_content.root.interfaces import ISiteRootRoles, ISiteRootConfiguration, ISiteRoot, \ |
23 ISiteRootToolsConfiguration, ISiteRootBackOfficeConfiguration |
24 ISiteRootToolsConfiguration, ISiteRootBackOfficeConfiguration |
24 from pyams_form.interfaces.form import IFormContextPermissionChecker |
25 from pyams_form.interfaces.form import IFormContextPermissionChecker |
25 from pyams_portal.interfaces import IPortalContext |
26 from pyams_portal.interfaces import IPortalContext |
40 from pyams_utils.traversing import get_parent |
41 from pyams_utils.traversing import get_parent |
41 from pyramid.events import subscriber |
42 from pyramid.events import subscriber |
42 from zope.interface import implementer |
43 from zope.interface import implementer |
43 |
44 |
44 |
45 |
45 @implementer(IDefaultProtectionPolicy, ISiteRoot, ISiteRootRoles, IPortalContext) |
46 @implementer(IDefaultProtectionPolicy, ISiteRoot, ISiteRootRoles, IPortalContext, IPreviewTarget) |
46 class SiteRoot(ProtectedObject, BaseSiteRoot, UserSkinnableContent): |
47 class SiteRoot(ProtectedObject, BaseSiteRoot, UserSkinnableContent): |
47 """Main site root""" |
48 """Main site root""" |
48 |
49 |
49 __roles__ = ('system.Manager', WEBMASTER_ROLE, OPERATOR_ROLE, 'pyams.TemplatesManager') |
50 __roles__ = ('system.Manager', WEBMASTER_ROLE, OPERATOR_ROLE, 'pyams.TemplatesManager') |
50 |
51 |