12 |
12 |
13 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
14 |
14 |
15 |
15 |
16 # import standard library |
16 # import standard library |
|
17 import json |
17 |
18 |
18 # import interfaces |
19 # import interfaces |
19 from pyams_content.shared.view.interfaces import IWfView |
20 from pyams_content.shared.view.interfaces import IWfView |
20 from pyams_form.interfaces.form import IInnerSubForm |
21 from pyams_form.interfaces.form import IInnerSubForm |
21 from pyams_skin.layer import IPyAMSLayer |
22 from pyams_skin.layer import IPyAMSLayer |
|
23 from pyams_utils.interfaces.data import IObjectData |
22 |
24 |
23 # import packages |
25 # import packages |
|
26 from pyams_content.shared.common.types import get_all_data_types |
24 from pyams_content.shared.common.zmi.properties import SharedContentPropertiesEditForm |
27 from pyams_content.shared.common.zmi.properties import SharedContentPropertiesEditForm |
|
28 from pyams_form.widget import HiddenSelect2FieldWidget |
25 from pyams_utils.adapter import adapter_config |
29 from pyams_utils.adapter import adapter_config |
26 from pyams_zmi.form import InnerAdminEditForm |
30 from pyams_zmi.form import InnerAdminEditForm |
27 from z3c.form import field |
31 from z3c.form import field |
|
32 from zope.interface import alsoProvides |
28 |
33 |
29 from pyams_content import _ |
34 from pyams_content import _ |
30 |
35 |
31 |
36 |
32 @adapter_config(name='view-settings', |
37 @adapter_config(name='view-settings', |
39 |
44 |
40 legend = _("Main view settings") |
45 legend = _("Main view settings") |
41 fieldset_class = 'bordered no-x-margin margin-y-10' |
46 fieldset_class = 'bordered no-x-margin margin-y-10' |
42 |
47 |
43 fields = field.Fields(IWfView).select('select_context_type', 'selected_content_types', |
48 fields = field.Fields(IWfView).select('select_context_type', 'selected_content_types', |
|
49 'select_context_datatype', 'selected_datatypes', |
44 'order_by', 'reversed_order', 'limit') |
50 'order_by', 'reversed_order', 'limit') |
|
51 fields['selected_datatypes'].widgetFactory = HiddenSelect2FieldWidget |
|
52 |
45 weight = 1 |
53 weight = 1 |
|
54 |
|
55 def updateWidgets(self, prefix=None): |
|
56 super(ViewPropertiesEditForm, self).updateWidgets(prefix) |
|
57 if 'selected_datatypes' in self.widgets: |
|
58 widget = self.widgets['selected_datatypes'] |
|
59 # widget.multiple = True |
|
60 widget.object_data = { |
|
61 'ams-select2-multiple': True, |
|
62 'ams-select2-data': json.dumps(get_all_data_types(self.request)) |
|
63 } |
|
64 alsoProvides(widget, IObjectData) |