src/pyams_content/shared/news/__init__.py
changeset 492 04503227569d
parent 353 4839285629d1
child 501 3407e6940f6a
equal deleted inserted replaced
491:828f9c9303cf 492:04503227569d
    19 from pyams_content.component.illustration import IIllustrationTarget
    19 from pyams_content.component.illustration import IIllustrationTarget
    20 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget
    20 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget
    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 
    26 
    26 # import packages
    27 # import packages
    27 from pyams_content.shared.common import SharedContent, WfSharedContent, register_content_type
    28 from pyams_content.shared.common import SharedContent, WfSharedContent, register_content_type, IWfSharedContentFactory
    28 from zope.interface import implementer
    29 from pyams_utils.adapter import adapter_config
       
    30 from zope.interface import implementer, provider
    29 
    31 
    30 
    32 
    31 @implementer(IWfNewsEvent, IIllustrationTarget, IParagraphContainerTarget, IThemesTarget,
    33 @implementer(IWfNewsEvent, IIllustrationTarget, IParagraphContainerTarget, IThemesTarget,
    32              IPreviewTarget, IReviewTarget)
    34              IPreviewTarget, IReviewTarget)
    33 class WfNewsEvent(WfSharedContent):
    35 class WfNewsEvent(WfSharedContent):
    37     content_name = NEWS_CONTENT_NAME
    39     content_name = NEWS_CONTENT_NAME
    38 
    40 
    39 register_content_type(WfNewsEvent)
    41 register_content_type(WfNewsEvent)
    40 
    42 
    41 
    43 
       
    44 @provider(IWfNewsEventFactory)
    42 @implementer(INewsEvent)
    45 @implementer(INewsEvent)
    43 class NewsEvent(SharedContent):
    46 class NewsEvent(SharedContent):
    44     """Workflow managed news event class"""
    47     """Workflow managed news event class"""
    45 
    48 
    46     content_class = WfNewsEvent
    49 
       
    50 @adapter_config(context=IWfNewsEventFactory, provides=IWfSharedContentFactory)
       
    51 def NewsEventContentFactory(context):
       
    52     return WfNewsEvent