7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
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 |
8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
|
12 from pyams_content.shared.common.types import TypedSharedToolMixin |
|
13 |
12 |
14 |
13 __docformat__ = 'restructuredtext' |
15 __docformat__ = 'restructuredtext' |
14 |
16 |
15 from pyramid.events import subscriber |
17 from pyramid.events import subscriber |
16 from zope.component.interfaces import ISite |
18 from zope.component.interfaces import ISite |
45 from pyams_utils.request import query_request |
47 from pyams_utils.request import query_request |
46 from pyams_utils.traversing import get_parent |
48 from pyams_utils.traversing import get_parent |
47 from pyams_utils.vocabulary import vocabulary_config |
49 from pyams_utils.vocabulary import vocabulary_config |
48 |
50 |
49 |
51 |
50 @implementer(ISiteManager, IParagraphFactorySettings, IThemesManagerTarget, ICollectionsManagerTarget, |
52 @implementer(ISiteManager, IParagraphFactorySettings, IThemesManagerTarget, |
51 IPictogramManagerTarget, IIllustrationTarget, ILinkIllustrationTarget, IPortalContext, IHeaderTarget, |
53 ICollectionsManagerTarget, IPictogramManagerTarget, IIllustrationTarget, |
52 IFooterTarget, IPreviewTarget) |
54 ILinkIllustrationTarget, IPortalContext, IHeaderTarget, IFooterTarget, IPreviewTarget) |
53 class SiteManager(SiteContainerMixin, OrderedContainer, BaseSharedTool, UserSkinnableContent): |
55 class SiteManager(SiteContainerMixin, OrderedContainer, BaseSharedTool, TypedSharedToolMixin, |
|
56 UserSkinnableContent): |
54 """Site manager persistent class""" |
57 """Site manager persistent class""" |
55 |
58 |
56 description = FieldProperty(ISiteManager['description']) |
59 description = FieldProperty(ISiteManager['description']) |
57 notepad = FieldProperty(ISiteManager['notepad']) |
60 notepad = FieldProperty(ISiteManager['notepad']) |
58 |
61 |
131 |
134 |
132 interface = ISiteManager |
135 interface = ISiteManager |
133 |
136 |
134 def __init__(self, context): |
137 def __init__(self, context): |
135 request = query_request() |
138 request = query_request() |
136 super(SiteManagerVocabulary, self).__init__([SimpleTerm(v, title=II18n(t).query_attribute('title', |
139 super(SiteManagerVocabulary, self).__init__( |
137 request=request)) |
140 [SimpleTerm(v, title=II18n(t).query_attribute('title', request=request)) |
138 for v, t in get_utilities_for(self.interface)]) |
141 for v, t in get_utilities_for(self.interface)]) |