[FIX] website_sale: taxes must be taken from the product_id_change method
authorDenis Ledoux <dle@openerp.com>
Thu, 24 Apr 2014 15:16:05 +0000 (17:16 +0200)
committerDenis Ledoux <dle@openerp.com>
Thu, 24 Apr 2014 15:16:05 +0000 (17:16 +0200)
So they are computed with the partner, fiscal_position, etc

bzr revid: dle@openerp.com-20140424151605-81t7v9pc2rou17s3

addons/website_sale/models/website.py

index 14a9a5d..f5bdf60 100644 (file)
@@ -114,12 +114,11 @@ class Website(orm.Model):
 
             product = self.pool.get('product.product').browse(cr, uid, product_id, context=context)
             values['name'] = "%s: %s" % (product.name, product.variants) if product.variants else product.name
-            values['tax_id'] = [(6, 0, [tax.id for tax in product.taxes_id])]
-            if order_line_id:
-                order_line_obj.write(cr, SUPERUSER_ID, order_line_ids, values, context=context)
-            else:
-                order_line_id = order_line_obj.create(cr, SUPERUSER_ID, values, context=context)
-                order_obj.write(cr, SUPERUSER_ID, [order.id], {'order_line': [(4, order_line_id)]}, context=context)
+            if values.get('tax_id'):
+                values['tax_id'] = [(6, 0, values['tax_id'])]
+
+            order_obj.write(cr, SUPERUSER_ID, [order.id], {'order_line': [(1, order_line_id, values) if order_line_id else (0, 0, values)]}, context=context)
+
         elif order_line_ids:
             order_line_obj.unlink(cr, SUPERUSER_ID, order_line_ids, context=context)