src/pyams_content/shared/news/__init__.py
changeset 621 a75b1fc09fde
parent 613 cf14f3928a90
child 694 4541a452fd4c
equal deleted inserted replaced
620:7de4aaf90bff 621:a75b1fc09fde
    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.news.interfaces import INewsEvent, IWfNewsEvent, NEWS_CONTENT_TYPE, NEWS_CONTENT_NAME, \
    24 from pyams_content.shared.news.interfaces import INewsEvent, IWfNewsEvent, NEWS_CONTENT_TYPE, NEWS_CONTENT_NAME, \
    25     IWfNewsEventFactory
    25     IWfNewsEventFactory
    26 from pyams_portal.interfaces import IPortalContext, IPortalPage, PORTAL_PAGE_KEY
       
    27 
    26 
    28 # import packages
    27 # import packages
    29 from pyams_content.shared.common import SharedContent, WfSharedContent, register_content_type, IWfSharedContentFactory
    28 from pyams_content.shared.common import SharedContent, WfSharedContent, register_content_type, IWfSharedContentFactory
    30 from pyams_content.shared.common.portal import SharedContentPortalPage
    29 from pyams_utils.adapter import adapter_config
    31 from pyams_utils.adapter import adapter_config, get_annotation_adapter
       
    32 from zope.interface import implementer, provider
    30 from zope.interface import implementer, provider
    33 
    31 
    34 
    32 
    35 @implementer(IWfNewsEvent, IIllustrationTarget, IParagraphContainerTarget, IThemesTarget,
    33 @implementer(IWfNewsEvent, IIllustrationTarget, IParagraphContainerTarget, IThemesTarget,
    36              IPortalContext, IPreviewTarget, IReviewTarget)
    34              IPreviewTarget, IReviewTarget)
    37 class WfNewsEvent(WfSharedContent):
    35 class WfNewsEvent(WfSharedContent):
    38     """Base news event"""
    36     """Base news event"""
    39 
    37 
    40     content_type = NEWS_CONTENT_TYPE
    38     content_type = NEWS_CONTENT_TYPE
    41     content_name = NEWS_CONTENT_NAME
    39     content_name = NEWS_CONTENT_NAME
    50 
    48 
    51 
    49 
    52 @adapter_config(context=IWfNewsEventFactory, provides=IWfSharedContentFactory)
    50 @adapter_config(context=IWfNewsEventFactory, provides=IWfSharedContentFactory)
    53 def news_event_content_factory(context):
    51 def news_event_content_factory(context):
    54     return WfNewsEvent
    52     return WfNewsEvent
    55 
       
    56 
       
    57 @adapter_config(context=IWfNewsEvent, provides=IPortalPage)
       
    58 def news_event_portal_page_adapter(context):
       
    59     """News event portal page adapter"""
       
    60     return get_annotation_adapter(context, PORTAL_PAGE_KEY, SharedContentPortalPage)