[Erp5-report] r6405 - /erp5/trunk/products/ERP5Form/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Mar 31 17:16:24 CEST 2006
Author: romain
Date: Fri Mar 31 17:16:20 2006
New Revision: 6405
URL: http://svn.erp5.org?rev=6405&view=rev
Log:
Bug fix: make ParallelistField compatible with ListField as sub-field.
Patch Formulator, in order to modify dynamically the size of the
ParallelistField.
Modified:
erp5/trunk/products/ERP5Form/FormulatorPatch.py
erp5/trunk/products/ERP5Form/ParallelListField.py
Modified: erp5/trunk/products/ERP5Form/FormulatorPatch.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/FormulatorPatch.py?rev=6405&r1=6404&r2=6405&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/FormulatorPatch.py (original)
+++ erp5/trunk/products/ERP5Form/FormulatorPatch.py Fri Mar 31 17:16:20 2006
@@ -563,6 +563,35 @@
return rendered_items
MultiItemsWidget.render_items = MultiItemsWidget_render_items
+
+from Products.Formulator.Widget import MultiListWidget
+
+def MultiListWidget_render(self, field, key, value, REQUEST):
+ rendered_items = self.render_items(field, key, value, REQUEST)
+ return render_element(
+ 'select',
+ name=key,
+ multiple=None,
+ css_class=field.get_value('css_class', REQUEST=REQUEST),
+ size=field.get_value('size', REQUEST=REQUEST),
+ contents=string.join(rendered_items, "\n"),
+ extra=field.get_value('extra', REQUEST=REQUEST))
+
+MultiListWidget.render = MultiListWidget_render
+
+from Products.Formulator.Widget import ListWidget
+
+def ListWidget_render(self, field, key, value, REQUEST):
+ rendered_items = self.render_items(field, key, value, REQUEST)
+ return render_element(
+ 'select',
+ name=key,
+ css_class=field.get_value('css_class', REQUEST=REQUEST),
+ size=field.get_value('size', REQUEST=REQUEST),
+ contents=string.join(rendered_items, "\n"),
+ extra=field.get_value('extra', REQUEST=REQUEST))
+
+ListWidget.render = ListWidget_render
# JPS - Subfield handling with listbox requires extension
from Products.Formulator.StandardFields import DateTimeField
Modified: erp5/trunk/products/ERP5Form/ParallelListField.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/ParallelListField.py?rev=6405&r1=6404&r2=6405&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/ParallelListField.py (original)
+++ erp5/trunk/products/ERP5Form/ParallelListField.py Fri Mar 31 17:16:20 2006
@@ -36,7 +36,8 @@
from AccessControl import ClassSecurityInfo
from Products.Formulator.Errors import ValidationError
-class ParallelListWidget(Widget.MultiListWidget):
+class ParallelListWidget(Widget.MultiListWidget,
+ Widget.ListWidget):
"""
Make the MultilistField more usable for the user.
@@ -63,6 +64,7 @@
"""
property_names = Widget.MultiListWidget.property_names + \
+ Widget.ListWidget.property_names + \
['hash_script_id']
hash_script_id = fields.StringField('hash_script_id',
@@ -70,6 +72,17 @@
description=(
"The method to call to hash items list."),
required=0)
+
+ # delete double in order to keep a usable ZMI...
+ # XXX need to keep order !
+ #property_names = dict([(i,0) for i in property_names]).keys()
+ _v_dict = {}
+ _v_property_name_list = []
+ for property_name in property_names:
+ if not _v_dict.has_key(property_name):
+ _v_property_name_list.append(property_name)
+ _v_dict[property_name] = 1
+ property_names = _v_property_name_list
def __init__(self):
"""
More information about the Erp5-report
mailing list