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