src/pyams_content/shared/site/manager.py
changeset 1384 cdf63a1c7dc9
parent 1297 393e4f1812e1
child 1420 f2cc8872bcc1
equal deleted inserted replaced
1383:2cfeb340dacf 1384:cdf63a1c7dc9
     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)])