[Erp5-report] r8467 - /erp5/trunk/products/ERP5Form/ListBox.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Jul 18 12:01:29 CEST 2006
Author: kevin
Date: Tue Jul 18 12:01:21 2006
New Revision: 8467
URL: http://svn.erp5.org?rev=8467&view=rev
Log:
Make "cell" attribute working in tales expression of editable widget within listbox
Modified:
erp5/trunk/products/ERP5Form/ListBox.py
Modified: erp5/trunk/products/ERP5Form/ListBox.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/ListBox.py?rev=8467&r1=8466&r2=8467&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/ListBox.py (original)
+++ erp5/trunk/products/ERP5Form/ListBox.py Tue Jul 18 12:01:21 2006
@@ -1898,14 +1898,29 @@
# XXX this is a horrible hack.
if editable_field.meta_type in ('DateTimeField', 'ProxyField', ):
# XXX Some fields prefer None to ''.
- cell_html = editable_field.render(value = original_value,
- REQUEST = brain.asContext(REQUEST = self.renderer.request, form = self.renderer.request.form),
- key = key)
+ cell_html = editable_field.render( \
+ value = original_value
+ , REQUEST = brain.asContext( \
+ REQUEST = self.renderer.request
+ , form = self.renderer.request.form
+ )
+ , key = key
+ )
else:
# We use REQUEST which is not so good here.
# This prevents from using standard display process.
# XXX what does the above comment mean exactly? why don't we fix Formulator?
- cell_html = editable_field.render(value = display_value, REQUEST = brain, key = key)
+ # XXX (JPS) - render_view does not get REQUEST - this breaks so many possibilities
+# cell_html = editable_field.render(value = original_value,
+# REQUEST = brain.asContext(cell = self.getObject()
+# ),
+# key = key)
+ REQUEST = get_request() # Dirtymax hack by JPS - render_view API update required
+ REQUEST.cell = self.getObject()
+ cell_html = editable_field.render( value = display_value
+ , REQUEST = brain
+ , key = key
+ )
if isinstance(cell_html, str):
cell_html = unicode(cell_html, encoding)
@@ -2864,8 +2879,8 @@
def get_value(self, id, **kw):
if (id == 'default'):
if (kw.get('render_format') in ('list', )):
- return self.widget.render(self, self.generate_field_key(), None,
- kw.get('REQUEST'),
+ return self.widget.render(self, self.generate_field_key(), None,
+ kw.get('REQUEST'),
render_format=kw.get('render_format'))
else:
return None
More information about the Erp5-report
mailing list