src/pyams_content/shared/site/__init__.py
changeset 613 cf14f3928a90
parent 580 51bea2402bba
child 621 a75b1fc09fde
--- a/src/pyams_content/shared/site/__init__.py	Mon Jun 11 14:58:31 2018 +0200
+++ b/src/pyams_content/shared/site/__init__.py	Mon Jun 11 14:59:38 2018 +0200
@@ -23,16 +23,18 @@
 from pyams_content.features.review.interfaces import IReviewTarget
 from pyams_content.shared.site.interfaces import ITopic, IWfTopic, TOPIC_CONTENT_NAME, \
     TOPIC_CONTENT_TYPE, IWfTopicFactory
+from pyams_portal.interfaces import IPortalContext, IPortalPage, PORTAL_PAGE_KEY
 from pyams_workflow.interfaces import IWorkflow, IWorkflowVersions, IWorkflowState
 
 # import packages
 from pyams_content.shared.common import SharedContent, WfSharedContent, register_content_type, IWfSharedContentFactory
-from pyams_utils.adapter import adapter_config
+from pyams_content.shared.common.portal import SharedContentPortalPage
+from pyams_utils.adapter import adapter_config, get_annotation_adapter
 from zope.interface import implementer, provider
 
 
-@implementer(IWfTopic, IParagraphContainerTarget, IThemesTarget,
-             IIllustrationTarget, IPreviewTarget, IReviewTarget)
+@implementer(IWfTopic, IParagraphContainerTarget, IThemesTarget, IIllustrationTarget,
+             IPortalContext, IPreviewTarget, IReviewTarget)
 class WfTopic(WfSharedContent):
     """Base topic"""
 
@@ -60,3 +62,9 @@
 @adapter_config(context=IWfTopicFactory, provides=IWfSharedContentFactory)
 def topic_content_factory(context):
     return WfTopic
+
+
+@adapter_config(context=IWfTopic, provides=IPortalPage)
+def topic_portal_page_adapter(context):
+    """Topic portal page adapter"""
+    return get_annotation_adapter(context, PORTAL_PAGE_KEY, SharedContentPortalPage)