From: chm@openerp.com <> Date: Mon, 5 May 2014 09:23:00 +0000 (+0200) Subject: [FIX] website_sale: apply tax position on checkout signup X-Git-Tag: InsPy_master01~73^2~7 X-Git-Url: http://git.inspyration.org/?a=commitdiff_plain;h=9e176a977e19a0ac0a70ec76bebd6906ae20a46e;p=odoo%2Fodoo.git [FIX] website_sale: apply tax position on checkout signup bzr revid: chm@openerp.com-20140505092300-l29tc4pum31nqd1h --- diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 5eec3bc..71366c5 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -644,6 +644,7 @@ class sale_order(osv.osv): if line[2].get('product_id'): taxes_id = product_obj.browse(cr, uid, line[2]['product_id'], context=context).taxes_id elif line[1]: + # don't change taxes if they are no product defined taxes_id = line_obj.browse(cr, uid, line[1], context=context).product_id.taxes_id if taxes_id: line[2]['tax_id'] = [[6, 0, fiscal_obj.map_tax(cr, uid, fpos, taxes_id)]] diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py index 1102016..cd334a2 100644 --- a/addons/website_sale/models/sale_order.py +++ b/addons/website_sale/models/sale_order.py @@ -177,6 +177,10 @@ class website(orm.Model): fiscal_position = sale_order.fiscal_position and sale_order.fiscal_position.id or False values = sale_order_obj.onchange_partner_id(cr, SUPERUSER_ID, [sale_order_id], partner.id, context=context)['value'] + order_lines = map(int,sale_order.order_line) + values.update(sale_order_obj.onchange_fiscal_position(cr, SUPERUSER_ID, [], + values['fiscal_position'], [[6, 0, order_lines]], context=context)['value']) + values['partner_id'] = partner.id sale_order_obj.write(cr, SUPERUSER_ID, [sale_order_id], values, context=context)