[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