--- a/src/pyams_content/shared/common/__init__.py Fri Nov 10 12:07:43 2017 +0100
+++ b/src/pyams_content/shared/common/__init__.py Tue Nov 14 14:05:30 2017 +0100
@@ -20,7 +20,8 @@
from pyams_content.interfaces import IBaseContentInfo
from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE
from pyams_content.features.review.interfaces import IReviewComments
-from pyams_content.shared.common.interfaces import IWfSharedContent, IWfSharedContentRoles, ISharedContent, ISharedTool
+from pyams_content.shared.common.interfaces import IWfSharedContent, IWfSharedContentRoles, ISharedContent, \
+ IBaseSharedTool, ISharedSite
from pyams_i18n.interfaces import II18nManager, II18n
from pyams_security.interfaces import IDefaultProtectionPolicy
from pyams_sequence.interfaces import ISequentialIdTarget, ISequentialIdInfo
@@ -40,7 +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.registry import query_utility
+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
from pyams_utils.traversing import get_parent
@@ -56,6 +57,19 @@
from pyams_content import _
+@vocabulary_config(name='PyAMS shared sites')
+class SharedSiteVocabulary(SimpleVocabulary):
+ """Shared sites vocabulary"""
+
+ interface = ISharedSite
+
+ def __init__(self, context):
+ request = query_request()
+ super(SharedSiteVocabulary, self).__init__([SimpleTerm(v, title=II18n(t).query_attribute('title',
+ request=request))
+ for v, t in get_utilities_for(self.interface)])
+
+
#
# Content types management
#
@@ -205,7 +219,7 @@
@adapter_config(context=IWfSharedContent, provides=IWorkflow)
def WfSharedContentWorkflowAdapter(context):
"""Shared content workflow adapter"""
- parent = get_parent(context, ISharedTool)
+ parent = get_parent(context, IBaseSharedTool)
return query_utility(IWorkflow, name=parent.shared_content_workflow)
@@ -251,7 +265,7 @@
@property
def workflow_name(self):
- return get_parent(self, ISharedTool).shared_content_workflow
+ return get_parent(self, IBaseSharedTool).shared_content_workflow
@adapter_config(context=ISharedContent, provides=IBaseContentInfo)
@@ -270,5 +284,5 @@
@adapter_config(context=ISharedContent, provides=IWorkflow)
def SharedContentWorkflowAdapter(context):
"""Shared content workflow adapter"""
- parent = get_parent(context, ISharedTool)
+ parent = get_parent(context, IBaseSharedTool)
return query_utility(IWorkflow, name=parent.shared_content_workflow)