src/pyams_content/shared/view/__init__.py
changeset 1281 327666db65f9
parent 1223 99a4c33e2962
child 1443 2af30495d1d7
--- a/src/pyams_content/shared/view/__init__.py	Fri Feb 15 12:53:15 2019 +0100
+++ b/src/pyams_content/shared/view/__init__.py	Fri Feb 15 12:53:57 2019 +0100
@@ -18,7 +18,7 @@
 
 from hypatia.catalog import CatalogQuery
 from hypatia.interfaces import ICatalog
-from hypatia.query import Any, Gt, Lt, Eq
+from hypatia.query import Any, Eq, Gt, Lt, Not
 from pyramid.events import subscriber
 from pyramid.threadlocal import get_current_registry
 from zope.interface import implementer, provider
@@ -30,16 +30,16 @@
 from pyams_catalog.query import CatalogResultSet, or_
 from pyams_content.features.preview.interfaces import IPreviewTarget
 from pyams_content.features.review.interfaces import IReviewTarget
-from pyams_content.shared.common import WfSharedContent, register_content_type, SharedContent, IWfSharedContentFactory, \
-    IWfSharedContent
+from pyams_content.shared.common import IGNORED_CONTENT_TYPES, IWfSharedContent, IWfSharedContentFactory, SharedContent, \
+    WfSharedContent, register_content_type
 from pyams_content.shared.common.interfaces.types import IWfTypedSharedContent
-from pyams_content.shared.view.interfaces import IView, IWfView, IWfViewFactory, IViewQuery, \
-    IViewQueryParamsExtension, IViewQueryFilterExtension, VIEW_CONTENT_TYPE, VIEW_CONTENT_NAME, IViewSettings, \
-    RELEVANCE_ORDER
-from pyams_utils.adapter import adapter_config, ContextAdapter
+from pyams_content.shared.view.interfaces import IView, IViewQuery, IViewQueryFilterExtension, \
+    IViewQueryParamsExtension, IViewSettings, IWfView, IWfViewFactory, RELEVANCE_ORDER, VIEW_CONTENT_NAME, \
+    VIEW_CONTENT_TYPE
+from pyams_utils.adapter import ContextAdapter, adapter_config
 from pyams_utils.interfaces import ICacheKeyValue
 from pyams_utils.list import unique_iter
-from pyams_utils.registry import get_utility, get_global_registry
+from pyams_utils.registry import get_global_registry, get_utility
 from pyams_utils.timezone import tztime
 from pyams_workflow.interfaces import IWorkflow
 
@@ -154,7 +154,7 @@
         return (results, count) if get_count else results
 
 
-register_content_type(WfView)
+register_content_type(WfView, shared_content=False)
 
 
 @provider(IWfViewFactory)
@@ -205,6 +205,7 @@
             if content_path is not None:
                 filters &= Eq(catalog['parents'], content_path)
             # check content types
+            filters &= Not(Any(catalog['content_type'], IGNORED_CONTENT_TYPES.keys()))
             content_types = view.get_content_types(context)
             if content_types:
                 filters &= Any(catalog['content_type'], content_types)