src/pyams_content/shared/topic/manager.py
changeset 1384 cdf63a1c7dc9
parent 1310 2302a43f55b0
equal deleted inserted replaced
1383:2cfeb340dacf 1384:cdf63a1c7dc9
     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 
    12 
    13 __docformat__ = 'restructuredtext'
       
    14 
       
    15 from pyramid.events import subscriber
    13 from pyramid.events import subscriber
    16 from zope.component.interfaces import ISite
    14 from zope.component.interfaces import ISite
    17 from zope.interface import implementer
    15 from zope.interface import implementer
    18 from zope.lifecycleevent.interfaces import IObjectAddedEvent
    16 from zope.lifecycleevent.interfaces import IObjectAddedEvent
    19 from zope.schema.fieldproperty import FieldProperty
    17 from zope.schema.fieldproperty import FieldProperty
    20 
    18 
    21 from pyams_content.component.paragraph.interfaces import IParagraphFactorySettings
    19 from pyams_content.component.paragraph.interfaces import IParagraphFactorySettings
    22 from pyams_content.component.theme.interfaces import IThemesManagerTarget
    20 from pyams_content.component.theme.interfaces import IThemesManagerTarget
    23 from pyams_content.reference.pictograms.interfaces import IPictogramManagerTarget
    21 from pyams_content.reference.pictograms.interfaces import IPictogramManagerTarget
    24 from pyams_content.shared.common.interfaces import ISharedContentFactory
    22 from pyams_content.shared.common.interfaces import ISharedContentFactory
    25 from pyams_content.shared.common.types import TypedSharedTool
    23 from pyams_content.shared.common.manager import SharedTool
       
    24 from pyams_content.shared.common.types import TypedSharedToolMixin
    26 from pyams_content.shared.topic import Topic
    25 from pyams_content.shared.topic import Topic
    27 from pyams_content.shared.topic.interfaces import ITopicManager, ITopicManagerFactory, TOPIC_CONTENT_TYPE
    26 from pyams_content.shared.topic.interfaces import ITopicManager, ITopicManagerFactory, \
       
    27     TOPIC_CONTENT_TYPE
    28 from pyams_utils.adapter import adapter_config
    28 from pyams_utils.adapter import adapter_config
    29 from pyams_utils.registry import utility_config
    29 from pyams_utils.registry import utility_config
    30 from pyams_utils.traversing import get_parent
    30 from pyams_utils.traversing import get_parent
    31 
    31 
    32 
    32 
       
    33 __docformat__ = 'restructuredtext'
       
    34 
       
    35 
    33 @implementer(ITopicManager, IParagraphFactorySettings, IThemesManagerTarget, IPictogramManagerTarget)
    36 @implementer(ITopicManager, IParagraphFactorySettings, IThemesManagerTarget, IPictogramManagerTarget)
    34 class TopicManager(TypedSharedTool):
    37 class TopicManager(SharedTool, TypedSharedToolMixin):
    35     """Topic manager class"""
    38     """Topic manager class"""
    36 
    39 
    37     shared_content_type = TOPIC_CONTENT_TYPE
    40     shared_content_type = TOPIC_CONTENT_TYPE
    38 
    41 
    39     allowed_paragraphs = FieldProperty(IParagraphFactorySettings['allowed_paragraphs'])
    42     allowed_paragraphs = FieldProperty(IParagraphFactorySettings['allowed_paragraphs'])