src/pyams_content/shared/blog/__init__.py
changeset 613 cf14f3928a90
parent 501 3407e6940f6a
child 621 a75b1fc09fde
equal deleted inserted replaced
612:04f5df7ee1d2 613:cf14f3928a90
    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.blog.interfaces import IWfBlogPost, BLOG_CONTENT_TYPE, BLOG_CONTENT_NAME, IBlogPost, \
    24 from pyams_content.shared.blog.interfaces import IWfBlogPost, BLOG_CONTENT_TYPE, BLOG_CONTENT_NAME, IBlogPost, \
    25     IWfBlogPostFactory
    25     IWfBlogPostFactory
       
    26 from pyams_portal.interfaces import IPortalContext, IPortalPage, PORTAL_PAGE_KEY
    26 from pyams_workflow.interfaces import IWorkflow, IWorkflowVersions, IWorkflowState
    27 from pyams_workflow.interfaces import IWorkflow, IWorkflowVersions, IWorkflowState
    27 
    28 
    28 # import packages
    29 # import packages
    29 from pyams_content.shared.common import WfSharedContent, register_content_type, SharedContent, IWfSharedContentFactory
    30 from pyams_content.shared.common import WfSharedContent, register_content_type, SharedContent, IWfSharedContentFactory
    30 from pyams_utils.adapter import adapter_config
    31 from pyams_content.shared.common.portal import SharedContentPortalPage
       
    32 from pyams_utils.adapter import adapter_config, get_annotation_adapter
    31 from zope.interface import implementer, provider
    33 from zope.interface import implementer, provider
    32 
    34 
    33 
    35 
    34 @implementer(IWfBlogPost, IParagraphContainerTarget, IThemesTarget,
    36 @implementer(IWfBlogPost, IParagraphContainerTarget, IThemesTarget, IIllustrationTarget,
    35              IIllustrationTarget, IPreviewTarget, IReviewTarget)
    37              IPortalContext, IPreviewTarget, IReviewTarget)
    36 class WfBlogPost(WfSharedContent):
    38 class WfBlogPost(WfSharedContent):
    37     """Base blog post"""
    39     """Base blog post"""
    38 
    40 
    39     content_type = BLOG_CONTENT_TYPE
    41     content_type = BLOG_CONTENT_TYPE
    40     content_name = BLOG_CONTENT_NAME
    42     content_name = BLOG_CONTENT_NAME
    56 
    58 
    57 
    59 
    58 @adapter_config(context=IWfBlogPostFactory, provides=IWfSharedContentFactory)
    60 @adapter_config(context=IWfBlogPostFactory, provides=IWfSharedContentFactory)
    59 def blog_post_content_factory(context):
    61 def blog_post_content_factory(context):
    60     return WfBlogPost
    62     return WfBlogPost
       
    63 
       
    64 
       
    65 @adapter_config(context=IWfBlogPost, provides=IPortalPage)
       
    66 def blog_post_portal_page_adapter(context):
       
    67     """Blog post portal page adapter"""
       
    68     return get_annotation_adapter(context, PORTAL_PAGE_KEY, SharedContentPortalPage)