[Erp5-report] r38382 ivan - in /erp5/trunk/products/ERP5Form: ListBox.py tests/testListBox.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Sep 15 12:46:57 CEST 2010
Author: ivan
Date: Wed Sep 15 12:46:51 2010
New Revision: 38382
URL: http://svn.erp5.org?rev=38382&view=rev
Log:
Set in REQUEST the current ERP5 form & field id in a similar way as 'cell' request argument.This allows scipts used for listbox rendering be aware of current ERP5 form being rendered and access form itself. Add test for this.
Modified:
erp5/trunk/products/ERP5Form/ListBox.py
erp5/trunk/products/ERP5Form/tests/testListBox.py
Modified: erp5/trunk/products/ERP5Form/ListBox.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/ListBox.py?rev=38382&r1=38381&r2=38382&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/ListBox.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/ListBox.py [utf8] Wed Sep 15 12:46:51 2010
@@ -2616,6 +2616,12 @@ class ListBoxHTMLRenderer(ListBoxRendere
selection.edit(method_path = method_path, list_url = list_url)
self.getSelectionTool().setSelectionFor(self.getSelectionName(), selection, REQUEST = self.request)
+ # do pass current form and respective field through request
+ request = self.request
+ field_id = self.getId()
+ form = self.getForm()
+ request.set('form_id', form.getId())
+ request.set('field_id', field_id)
pt = self.getPageTemplate()
return pt()
Modified: erp5/trunk/products/ERP5Form/tests/testListBox.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testListBox.py?rev=38382&r1=38381&r2=38382&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testListBox.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/tests/testListBox.py [utf8] Wed Sep 15 12:46:51 2010
@@ -622,6 +622,20 @@ return []
self.assertSameSet([('id', u'ID'), ('title', u'Title'), ('getQuantity', u'Quantity')],
getListBoxRenderer(listbox).getSelectedColumnList())
+ def test_ListboxRequestParameterPropagandation(self):
+ """
+ Test that rendering a listbox field will set respective form & field_id of current form
+ in REQUEST for further usage by used by litsbox's columns methods.
+ """
+ portal = self.getPortal()
+ request = get_request()
+ portal.ListBoxZuite_reset()
+ form = portal.FooModule_viewFooList
+ self.assertEqual(None, request.get('form_id'))
+ form.render()
+ self.assertEqual(form.getId(), request.get('form_id'))
+ self.assertEqual(form.listbox.getId(), request.get('field_id'))
+
def test_suite():
suite = unittest.TestSuite()
More information about the Erp5-report
mailing list