[FIX] decimal_precision:
authorolt@tinyerp.com <>
Fri, 1 Oct 2010 08:19:11 +0000 (10:19 +0200)
committerolt@tinyerp.com <>
Fri, 1 Oct 2010 08:19:11 +0000 (10:19 +0200)
 * 'fucntion' fields also need to be updated
 * clear_cache should be called before 'col.digits_change'

bzr revid: olt@tinyerp.com-20101001081911-ne67wl3mjq3ki3dx

addons/decimal_precision/decimal_precision.py

index 4077a01..1986eb8 100644 (file)
@@ -46,11 +46,11 @@ class decimal_precision(osv.osv):
 
     def write(self, cr, uid, ids, data, *args, **argv):
         res = super(decimal_precision, self).write(cr, uid, ids, data, *args, **argv)
+        self.precision_get.clear_cache(cr.dbname)
         for obj in self.pool.obj_list():
-            for colname,col in self.pool.get(obj)._columns.items():
-                if isinstance(col, fields.float):
+            for colname, col in self.pool.get(obj)._columns.items():
+                if isinstance(col, (fields.float, fields.function)):
                     col.digits_change(cr)
-        self.precision_get.clear_cache(cr.dbname)
         return res
 
 decimal_precision()
@@ -62,4 +62,3 @@ def get_precision(application):
         return (16, res)
     return change_digit
 
-