[FIX] sale_margin: avoid computing twice to get margin calculated
authorNajlaâ <nel@tinyerp.com>
Wed, 23 May 2012 11:42:02 +0000 (13:42 +0200)
committerNajlaâ <nel@tinyerp.com>
Wed, 23 May 2012 11:42:02 +0000 (13:42 +0200)
bzr revid: nel@tinyerp.com-20120523114202-3p947pgq5aqvnoeh

addons/sale_margin/sale_margin.py

index ab3f7af..9f94182 100644 (file)
@@ -64,9 +64,11 @@ class sale_order(osv.osv):
 
     def _product_margin(self, cr, uid, ids, field_name, arg, context=None):
         result = {}
+        sale_line_obj = self.pool.get('sale.order.line')
         for sale in self.browse(cr, uid, ids, context=context):
             result[sale.id] = 0.0
             for line in sale.order_line:
+                sale_line_obj.write(cr, uid, [line.id], {'order_id': sale.id}, context)
                 result[sale.id] += line.margin or 0.0
         return result