src/pyams_content/shared/view/__init__.py
changeset 492 04503227569d
parent 485 252eeec4e59f
child 501 3407e6940f6a
--- a/src/pyams_content/shared/view/__init__.py	Thu Mar 22 14:50:32 2018 +0100
+++ b/src/pyams_content/shared/view/__init__.py	Thu Mar 22 14:52:22 2018 +0100
@@ -23,8 +23,8 @@
 from hypatia.interfaces import ICatalog
 from pyams_content.features.preview.interfaces import IPreviewTarget
 from pyams_content.features.review.interfaces import IReviewTarget
-from pyams_content.shared.view.interfaces import IView, IWfView, IViewQuery, IViewQueryParamsExtension, \
-    IViewQueryFilterExtension, VIEW_CONTENT_TYPE, VIEW_CONTENT_NAME, IViewSettings
+from pyams_content.shared.view.interfaces import IView, IWfView, IWfViewFactory, IViewQuery, \
+    IViewQueryParamsExtension, IViewQueryFilterExtension, VIEW_CONTENT_TYPE, VIEW_CONTENT_NAME, IViewSettings
 from zope.intid.interfaces import IIntIds
 from zope.lifecycleevent.interfaces import IObjectModifiedEvent
 
@@ -33,7 +33,7 @@
 from hypatia.query import Any, Gt, Lt
 from pyams_cache.beaker import get_cache
 from pyams_catalog.query import CatalogResultSet, or_
-from pyams_content.shared.common import WfSharedContent, register_content_type, SharedContent
+from pyams_content.shared.common import WfSharedContent, register_content_type, SharedContent, IWfSharedContentFactory
 from pyams_utils.adapter import adapter_config, ContextAdapter
 from pyams_utils.list import unique
 from pyams_utils.registry import get_utility, get_global_registry
@@ -41,7 +41,7 @@
 from pyams_workflow.interfaces import IWorkflow
 from pyramid.events import subscriber
 from pyramid.threadlocal import get_current_registry
-from zope.interface import implementer
+from zope.interface import implementer, provider
 from zope.schema.fieldproperty import FieldProperty
 
 
@@ -111,11 +111,15 @@
 register_content_type(WfView)
 
 
+@provider(IWfViewFactory)
 @implementer(IView)
 class View(SharedContent):
     """Workflow managed view class"""
 
-    content_class = WfView
+
+@adapter_config(context=IWfViewFactory, provides=IWfSharedContentFactory)
+def ViewContentFactory(context):
+    return WfView
 
 
 @adapter_config(context=IWfView, provides=IViewQuery)