src/pyams_content/shared/blog/__init__.py
changeset 492 04503227569d
parent 353 4839285629d1
child 501 3407e6940f6a
--- a/src/pyams_content/shared/blog/__init__.py	Thu Mar 22 14:50:32 2018 +0100
+++ b/src/pyams_content/shared/blog/__init__.py	Thu Mar 22 14:52:22 2018 +0100
@@ -21,12 +21,14 @@
 from pyams_content.component.theme.interfaces import IThemesTarget
 from pyams_content.features.preview.interfaces import IPreviewTarget
 from pyams_content.features.review.interfaces import IReviewTarget
-from pyams_content.shared.blog.interfaces import IWfBlogPost, BLOG_CONTENT_TYPE, BLOG_CONTENT_NAME, IBlogPost
+from pyams_content.shared.blog.interfaces import IWfBlogPost, BLOG_CONTENT_TYPE, BLOG_CONTENT_NAME, IBlogPost, \
+    IWfBlogPostFactory
 from pyams_workflow.interfaces import IWorkflow, IWorkflowVersions, IWorkflowState
 
 # import packages
-from pyams_content.shared.common import WfSharedContent, register_content_type, SharedContent
-from zope.interface import implementer
+from pyams_content.shared.common import WfSharedContent, register_content_type, SharedContent, IWfSharedContentFactory
+from pyams_utils.adapter import adapter_config
+from zope.interface import implementer, provider
 
 
 @implementer(IWfBlogPost, IParagraphContainerTarget, IThemesTarget,
@@ -40,15 +42,19 @@
 register_content_type(WfBlogPost)
 
 
+@provider(IWfBlogPostFactory)
 @implementer(IBlogPost)
 class BlogPost(SharedContent):
     """Worfklow managed blog post class"""
 
-    content_class = WfBlogPost
-
     def is_deletable(self):
         workflow = IWorkflow(self)
         for version in IWorkflowVersions(self).get_versions():
             if IWorkflowState(version).state != workflow.initial_state:
                 return False
         return True
+
+
+@adapter_config(context=IWfBlogPostFactory, provides=IWfSharedContentFactory)
+def BlogPostContentFactory(context):
+    return WfBlogPost