src/pyams_content/shared/site/__init__.py
changeset 613 cf14f3928a90
parent 580 51bea2402bba
child 621 a75b1fc09fde
equal deleted inserted replaced
612:04f5df7ee1d2 613:cf14f3928a90
    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)