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 zope.interface import implementer, provider |
13 from zope.interface import implementer, provider |
16 from zope.schema.fieldproperty import FieldProperty |
14 from zope.schema.fieldproperty import FieldProperty |
17 |
15 |
18 from pyams_content.component.illustration.interfaces import IIllustrationTarget, ILinkIllustrationTarget |
16 from pyams_content.component.illustration.interfaces import IIllustrationTarget, \ |
|
17 ILinkIllustrationTarget |
19 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget |
18 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget |
20 from pyams_content.component.theme.interfaces import ITagsTarget, IThemesTarget |
19 from pyams_content.component.theme.interfaces import ITagsTarget, IThemesTarget |
21 from pyams_content.features.preview.interfaces import IPreviewTarget |
20 from pyams_content.features.preview.interfaces import IPreviewTarget |
22 from pyams_content.features.review.interfaces import IReviewTarget |
21 from pyams_content.features.review.interfaces import IReviewTarget |
23 from pyams_content.shared.common import SharedContent, register_content_type |
22 from pyams_content.shared.common import SharedContent, WfSharedContent, register_content_type |
24 from pyams_content.shared.common.interfaces import IWfSharedContentFactory |
23 from pyams_content.shared.common.interfaces import IWfSharedContentFactory |
25 from pyams_content.shared.common.types import WfTypedSharedContent |
24 from pyams_content.shared.common.types import WfTypedSharedContentMixin |
26 from pyams_content.shared.topic.interfaces import ITopic, IWfTopic, IWfTopicFactory, TOPIC_CONTENT_NAME, \ |
25 from pyams_content.shared.topic.interfaces import ITopic, IWfTopic, IWfTopicFactory, \ |
27 TOPIC_CONTENT_TYPE |
26 TOPIC_CONTENT_NAME, TOPIC_CONTENT_TYPE |
28 from pyams_utils.adapter import adapter_config |
27 from pyams_utils.adapter import adapter_config |
|
28 |
|
29 |
|
30 __docformat__ = 'restructuredtext' |
29 |
31 |
30 |
32 |
31 @implementer(IWfTopic, IIllustrationTarget, ILinkIllustrationTarget, IParagraphContainerTarget, |
33 @implementer(IWfTopic, IIllustrationTarget, ILinkIllustrationTarget, IParagraphContainerTarget, |
32 ITagsTarget, IThemesTarget, IPreviewTarget, IReviewTarget) |
34 ITagsTarget, IThemesTarget, IPreviewTarget, IReviewTarget) |
33 class WfTopic(WfTypedSharedContent): |
35 class WfTopic(WfSharedContent, WfTypedSharedContentMixin): |
34 """Base topic""" |
36 """Base topic""" |
35 |
37 |
36 content_type = TOPIC_CONTENT_TYPE |
38 content_type = TOPIC_CONTENT_TYPE |
37 content_name = TOPIC_CONTENT_NAME |
39 content_name = TOPIC_CONTENT_NAME |
38 |
40 |