diff -r b83aca9d6e2b -r 0e8c775ca958 src/pyams_content/shared/view/zmi/properties.py --- a/src/pyams_content/shared/view/zmi/properties.py Tue Jul 17 18:01:26 2018 +0200 +++ b/src/pyams_content/shared/view/zmi/properties.py Tue Jul 17 18:01:54 2018 +0200 @@ -14,17 +14,22 @@ # import standard library +import json # import interfaces from pyams_content.shared.view.interfaces import IWfView from pyams_form.interfaces.form import IInnerSubForm from pyams_skin.layer import IPyAMSLayer +from pyams_utils.interfaces.data import IObjectData # import packages +from pyams_content.shared.common.types import get_all_data_types from pyams_content.shared.common.zmi.properties import SharedContentPropertiesEditForm +from pyams_form.widget import HiddenSelect2FieldWidget from pyams_utils.adapter import adapter_config from pyams_zmi.form import InnerAdminEditForm from z3c.form import field +from zope.interface import alsoProvides from pyams_content import _ @@ -41,5 +46,19 @@ fieldset_class = 'bordered no-x-margin margin-y-10' fields = field.Fields(IWfView).select('select_context_type', 'selected_content_types', + 'select_context_datatype', 'selected_datatypes', 'order_by', 'reversed_order', 'limit') + fields['selected_datatypes'].widgetFactory = HiddenSelect2FieldWidget + weight = 1 + + def updateWidgets(self, prefix=None): + super(ViewPropertiesEditForm, self).updateWidgets(prefix) + if 'selected_datatypes' in self.widgets: + widget = self.widgets['selected_datatypes'] + # widget.multiple = True + widget.object_data = { + 'ams-select2-multiple': True, + 'ams-select2-data': json.dumps(get_all_data_types(self.request)) + } + alsoProvides(widget, IObjectData)