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 |