Reviewers: bch,


Please review this at http://codereview.appspot.com/124089

Affected files:
   M tryton/gui/window/view_form/model/field.py
   M tryton/gui/window/view_tree/view_tree.py


Index: tryton/gui/window/view_form/model/field.py
===================================================================
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -218,6 +218,14 @@

  class FloatField(CharField):

+    def set(self, model, value, modified=False):
+        if isinstance(self.attrs.get('digits'), str):
+            digits = model.expr_eval(self.attrs['digits'])
+        else:
+            digits = self.attrs.get('digits', (12, 2))
+        value = round(value, digits[1])
+        return super(FloatField, self).set(model, value, modified=modified)
+
      def set_client(self, model, value, force_change=False):
          internal = model.value[self.name]
          prev_modified = model.modified
Index: tryton/gui/window/view_tree/view_tree.py
===================================================================
--- a/tryton/gui/window/view_tree/view_tree.py
+++ b/tryton/gui/window/view_tree/view_tree.py
@@ -128,7 +128,7 @@
                      if isinstance(digits, str):
                          digits = eval(digits, obj)
                      obj[field] = locale.format('%.' + str(digits[1]) + 'f',
-                            obj[field] or 0.0, True)
+                            round(obj[field] or 0.0, digits[1]), True)
              elif field_type in ('integer',):
                  for obj in res_ids:
                      obj[field] = locale.format('%d', obj[field] or 0, True)



--~--~---------~--~----~------------~-------~--~----~
[email protected] mailing list
-~----------~----~----~----~------~----~------~--~---

Reply via email to