[Erp5-report] r21174 - /erp5/trunk/products/ERP5Form/FormulatorPatch.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue May 27 18:06:59 CEST 2008
Author: jerome
Date: Tue May 27 18:06:58 2008
New Revision: 21174
URL: http://svn.erp5.org?rev=21174&view=rev
Log:
don't patch ListWidget_render_view, but SingleItemsWidget_render_view (
both ListWidget and RadioWidget are some SingleItemsWidget )
Modified:
erp5/trunk/products/ERP5Form/FormulatorPatch.py
Modified: erp5/trunk/products/ERP5Form/FormulatorPatch.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/FormulatorPatch.py?rev=21174&r1=21173&r2=21174&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/FormulatorPatch.py (original)
+++ erp5/trunk/products/ERP5Form/FormulatorPatch.py Tue May 27 18:06:58 2008
@@ -27,6 +27,9 @@
from Products.Formulator.FieldRegistry import FieldRegistry
from Products.Formulator import TALESField
from Products.Formulator import MethodField
+from Products.Formulator.Widget import ListWidget
+from Products.Formulator.Widget import RadioWidget
+from Products.Formulator.Widget import MultiItemsWidget
from ProxyField import ProxyField
from AccessControl import ClassSecurityInfo
from DocumentTemplate.ustr import ustr
@@ -670,7 +673,24 @@
SingleItemsWidget.render_items = SingleItemsWidget_render_items
-from Products.Formulator.Widget import MultiItemsWidget
+def SingleItemsWidget_render_view(self, field, value, REQUEST=None):
+ """
+ This method is not as efficient as using a StringField in read only.
+ Always consider to change the field in your Form.
+ """
+ if value is None:
+ return ''
+ title_list = [x[0] for x in field.get_value("items", REQUEST=REQUEST) if x[1]==value]
+ if len(title_list) == 0:
+ return "??? (%s)" % escape(value)
+ else:
+ return title_list[0]
+ return value
+
+ListWidget.render_view = SingleItemsWidget_render_view
+ListWidget.render_pdf = SingleItemsWidget_render_view
+RadioWidget.render_view = SingleItemsWidget_render_view
+RadioWidget.render_pdf = SingleItemsWidget_render_view
def MultiItemsWidget_render_items(self, field, key, value, REQUEST):
# list is needed, not a tuple
@@ -763,8 +783,6 @@
MultiCheckBoxWidget.render = MultiCheckBoxWidget_render
-from Products.Formulator.Widget import ListWidget
-
def ListWidget_render(self, field, key, value, REQUEST):
rendered_items = self.render_items(field, key, value, REQUEST)
input_hidden = render_element('input', type='hidden',
@@ -779,23 +797,7 @@
return "\n".join([list_widget, input_hidden])
-def ListWidget_render_view(self, field, value, REQUEST=None):
- """
- This method is not as efficient as using a StringField in read only.
- Always consider to change the field in your Form.
- """
- if value is None:
- return ''
- title_list = [x[0] for x in field.get_value("items", REQUEST=REQUEST) if x[1]==value]
- if len(title_list) == 0:
- return "??? (%s)" % escape(value)
- else:
- return title_list[0]
- return value
-
ListWidget.render = ListWidget_render
-ListWidget.render_view = ListWidget_render_view
-ListWidget.render_pdf = ListWidget_render_view
# JPS - Subfield handling with listbox requires extension
from Products.Formulator.StandardFields import DateTimeField
More information about the Erp5-report
mailing list