[Erp5-report] r18767 - in /erp5/trunk/products/ERP5Form: ./ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jan 17 13:54:33 CET 2008


Author: jerome
Date: Thu Jan 17 13:54:32 2008
New Revision: 18767

URL: http://svn.erp5.org?rev=18767&view=rev
Log:
float fields were not able to display back string values (like in the case of validation failure)


Modified:
    erp5/trunk/products/ERP5Form/FormulatorPatch.py
    erp5/trunk/products/ERP5Form/tests/testFields.py

Modified: erp5/trunk/products/ERP5Form/FormulatorPatch.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/FormulatorPatch.py?rev=18767&r1=18766&r2=18767&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/FormulatorPatch.py (original)
+++ erp5/trunk/products/ERP5Form/FormulatorPatch.py Thu Jan 17 13:54:32 2008
@@ -1244,7 +1244,10 @@
           original_value = value
           if input_style.find('%')>=0:
             percent=1
-            value = float(value) * 100
+            try:
+              value = float(value) * 100
+            except ValueError:
+              return value
           try :
             float_value = float(value)
             if precision:

Modified: erp5/trunk/products/ERP5Form/tests/testFields.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testFields.py?rev=18767&r1=18766&r2=18767&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testFields.py (original)
+++ erp5/trunk/products/ERP5Form/tests/testFields.py Thu Jan 17 13:54:32 2008
@@ -104,6 +104,12 @@
     self.field.values['precision'] = 2
     self.field.values['editable'] = 0
     self.assertEquals('12.34', self.field.render("12.34"))
+    self.assertEquals('not float', self.field.render("not float"))
+
+  def test_percent_style_render_string_value(self):
+    self.field.values['input_style'] = '-12.3%'
+    self.field.values['editable'] = 0
+    self.assertEquals('-12.34%', self.field.render("-0.1234"))
     self.assertEquals('not float', self.field.render("not float"))
 
   def test_render_big_numbers(self):




More information about the Erp5-report mailing list