src/pyams_content/shared/common/__init__.py
changeset 492 04503227569d
parent 401 c004b91ebcbd
child 501 3407e6940f6a
--- a/src/pyams_content/shared/common/__init__.py	Thu Mar 22 14:50:32 2018 +0100
+++ b/src/pyams_content/shared/common/__init__.py	Thu Mar 22 14:52:22 2018 +0100
@@ -21,7 +21,7 @@
 from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE, ERROR_VALUE
 from pyams_content.features.review.interfaces import IReviewComments
 from pyams_content.shared.common.interfaces import IWfSharedContent, IWfSharedContentRoles, ISharedContent, \
-    IBaseSharedTool, ISharedSite
+    IBaseSharedTool, ISharedSite, IWfSharedContentFactory
 from pyams_i18n.interfaces import II18nManager, II18n
 from pyams_security.interfaces import IDefaultProtectionPolicy
 from pyams_sequence.interfaces import ISequentialIdTarget, ISequentialIdInfo
@@ -41,6 +41,7 @@
 from pyams_security.utility import get_principal
 from pyams_utils.adapter import adapter_config, ContextAdapter
 from pyams_utils.date import format_datetime
+from pyams_utils.property import classproperty, classproperty_support
 from pyams_utils.registry import query_utility, get_utilities_for
 from pyams_utils.request import query_request, check_request
 from pyams_utils.timezone import tztime
@@ -266,6 +267,7 @@
 # Main shared content class and adapters
 #
 
+@classproperty_support
 @implementer(ISharedContent, ISequentialIdTarget)
 class SharedContent(Persistent, Contained):
     """Workflow managed shared data"""
@@ -275,6 +277,10 @@
     sequence_name = ''  # use default sequence generator
     sequence_prefix = ''
 
+    @classproperty
+    def content_class(cls):
+        return IWfSharedContentFactory(cls, None)
+
     @property
     def workflow_name(self):
         return get_parent(self, IBaseSharedTool).shared_content_workflow