21 from pyams_content.component.theme.interfaces import IThemesTarget |
21 from pyams_content.component.theme.interfaces import IThemesTarget |
22 from pyams_content.features.preview.interfaces import IPreviewTarget |
22 from pyams_content.features.preview.interfaces import IPreviewTarget |
23 from pyams_content.features.review.interfaces import IReviewTarget |
23 from pyams_content.features.review.interfaces import IReviewTarget |
24 from pyams_content.shared.site.interfaces import ITopic, IWfTopic, TOPIC_CONTENT_NAME, \ |
24 from pyams_content.shared.site.interfaces import ITopic, IWfTopic, TOPIC_CONTENT_NAME, \ |
25 TOPIC_CONTENT_TYPE, IWfTopicFactory |
25 TOPIC_CONTENT_TYPE, IWfTopicFactory |
|
26 from pyams_portal.interfaces import IPortalContext, IPortalPage, PORTAL_PAGE_KEY |
26 from pyams_workflow.interfaces import IWorkflow, IWorkflowVersions, IWorkflowState |
27 from pyams_workflow.interfaces import IWorkflow, IWorkflowVersions, IWorkflowState |
27 |
28 |
28 # import packages |
29 # import packages |
29 from pyams_content.shared.common import SharedContent, WfSharedContent, register_content_type, IWfSharedContentFactory |
30 from pyams_content.shared.common import SharedContent, WfSharedContent, register_content_type, IWfSharedContentFactory |
30 from pyams_utils.adapter import adapter_config |
31 from pyams_content.shared.common.portal import SharedContentPortalPage |
|
32 from pyams_utils.adapter import adapter_config, get_annotation_adapter |
31 from zope.interface import implementer, provider |
33 from zope.interface import implementer, provider |
32 |
34 |
33 |
35 |
34 @implementer(IWfTopic, IParagraphContainerTarget, IThemesTarget, |
36 @implementer(IWfTopic, IParagraphContainerTarget, IThemesTarget, IIllustrationTarget, |
35 IIllustrationTarget, IPreviewTarget, IReviewTarget) |
37 IPortalContext, IPreviewTarget, IReviewTarget) |
36 class WfTopic(WfSharedContent): |
38 class WfTopic(WfSharedContent): |
37 """Base topic""" |
39 """Base topic""" |
38 |
40 |
39 content_type = TOPIC_CONTENT_TYPE |
41 content_type = TOPIC_CONTENT_TYPE |
40 content_name = TOPIC_CONTENT_NAME |
42 content_name = TOPIC_CONTENT_NAME |
58 |
60 |
59 |
61 |
60 @adapter_config(context=IWfTopicFactory, provides=IWfSharedContentFactory) |
62 @adapter_config(context=IWfTopicFactory, provides=IWfSharedContentFactory) |
61 def topic_content_factory(context): |
63 def topic_content_factory(context): |
62 return WfTopic |
64 return WfTopic |
|
65 |
|
66 |
|
67 @adapter_config(context=IWfTopic, provides=IPortalPage) |
|
68 def topic_portal_page_adapter(context): |
|
69 """Topic portal page adapter""" |
|
70 return get_annotation_adapter(context, PORTAL_PAGE_KEY, SharedContentPortalPage) |