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