src/pyams_content/shared/common/types.py
changeset 1354 1816388f2887
parent 1240 921ff38f1aae
child 1384 cdf63a1c7dc9
--- a/src/pyams_content/shared/common/types.py	Wed Sep 25 15:11:13 2019 +0200
+++ b/src/pyams_content/shared/common/types.py	Wed Sep 25 17:21:20 2019 +0200
@@ -10,8 +10,6 @@
 # FOR A PARTICULAR PURPOSE.
 #
 
-__docformat__ = 'restructuredtext'
-
 from persistent import Persistent
 from pyramid.events import subscriber
 from zope.container.contained import Contained
@@ -21,24 +19,25 @@
 from zope.location.interfaces import ISublocations
 from zope.schema import getFieldsInOrder
 from zope.schema.fieldproperty import FieldProperty
-from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
+from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary
 from zope.traversing.interfaces import ITraversable
 
 from pyams_content.component.extfile.interfaces import IExtFileContainerTarget
 from pyams_content.component.links.interfaces import ILinkContainerTarget
 from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget
-from pyams_content.component.theme.interfaces import IThemesTarget, IThemesInfo
+from pyams_content.component.theme.interfaces import IThemesInfo, IThemesTarget
 from pyams_content.interfaces import MANAGE_TOOL_PERMISSION
-from pyams_content.shared.common import WfSharedContent, IWfSharedContentFactory
+from pyams_content.shared.common import IWfSharedContentFactory, WfSharedContent
 from pyams_content.shared.common.interfaces import ISharedContentFactory
-from pyams_content.shared.common.interfaces.types import IDataType, ISubType, IBaseDataType, ITypedSharedTool, \
-    ITypedDataManager, DATA_MANAGER_ANNOTATION_KEY, DATA_TYPES_VOCABULARY, DATA_TYPE_FIELDS_VOCABULARY, \
-    IWfTypedSharedContent, DATA_SUBTYPES_VOCABULARY, ALL_DATA_TYPES_VOCABULARY
+from pyams_content.shared.common.interfaces.types import ALL_DATA_TYPES_VOCABULARY, \
+    DATA_MANAGER_ANNOTATION_KEY, DATA_SUBTYPES_VOCABULARY, DATA_TYPES_VOCABULARY, \
+    DATA_TYPE_FIELDS_VOCABULARY, IBaseDataType, IDataType, ISubType, ITypedDataManager, \
+    ITypedSharedTool, IWfTypedSharedContent
 from pyams_content.shared.common.manager import SharedTool
 from pyams_form.interfaces.form import IFormContextPermissionChecker
 from pyams_i18n.interfaces import II18n
 from pyams_sequence.reference import get_reference_target
-from pyams_utils.adapter import adapter_config, ContextAdapter, get_annotation_adapter
+from pyams_utils.adapter import ContextAdapter, adapter_config, get_annotation_adapter
 from pyams_utils.factory import factory_config
 from pyams_utils.registry import get_local_registry
 from pyams_utils.request import check_request
@@ -46,6 +45,9 @@
 from pyams_utils.vocabulary import vocabulary_config
 
 
+__docformat__ = 'restructuredtext'
+
+
 class BaseDataType(Persistent, Contained):
     """Base data type"""
 
@@ -68,6 +70,7 @@
 class DataType(BaseDataType, OrderedContainer):
     """Data type persistent class"""
 
+    display_as_tag = FieldProperty(IDataType['display_as_tag'])
     field_names = FieldProperty(IDataType['field_names'])
 
 
@@ -164,7 +167,8 @@
         for tool in registry.getAllUtilitiesRegisteredFor(ITypedSharedTool):
             manager = ITypedDataManager(tool)
             terms.extend([SimpleTerm(datatype.__name__,
-                                     title=II18n(datatype).query_attribute('label', request=request))
+                                     title=II18n(datatype).query_attribute('label',
+                                                                           request=request))
                           for datatype in manager.values()])
         terms.sort(key=lambda x: x.title)
         super(AllTypedSharedToolDataTypesVocabulary, self).__init__(terms)