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) |
|