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 |
26 |
27 |
27 # import packages |
28 # import packages |
28 from pyams_content.shared.common import SharedContent, WfSharedContent, register_content_type, IWfSharedContentFactory |
29 from pyams_content.shared.common import SharedContent, WfSharedContent, register_content_type, IWfSharedContentFactory |
29 from pyams_utils.adapter import adapter_config |
30 from pyams_content.shared.common.portal import SharedContentPortalPage |
|
31 from pyams_utils.adapter import adapter_config, get_annotation_adapter |
30 from zope.interface import implementer, provider |
32 from zope.interface import implementer, provider |
31 |
33 |
32 |
34 |
33 @implementer(IWfNewsEvent, IIllustrationTarget, IParagraphContainerTarget, IThemesTarget, |
35 @implementer(IWfNewsEvent, IIllustrationTarget, IParagraphContainerTarget, IThemesTarget, |
34 IPreviewTarget, IReviewTarget) |
36 IPortalContext, IPreviewTarget, IReviewTarget) |
35 class WfNewsEvent(WfSharedContent): |
37 class WfNewsEvent(WfSharedContent): |
36 """Base news event""" |
38 """Base news event""" |
37 |
39 |
38 content_type = NEWS_CONTENT_TYPE |
40 content_type = NEWS_CONTENT_TYPE |
39 content_name = NEWS_CONTENT_NAME |
41 content_name = NEWS_CONTENT_NAME |
48 |
50 |
49 |
51 |
50 @adapter_config(context=IWfNewsEventFactory, provides=IWfSharedContentFactory) |
52 @adapter_config(context=IWfNewsEventFactory, provides=IWfSharedContentFactory) |
51 def news_event_content_factory(context): |
53 def news_event_content_factory(context): |
52 return WfNewsEvent |
54 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) |