From 91be5ced94f563662b679fe4095ea4db076abd9f Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 16 Feb 2012 19:42:14 +0100 Subject: [PATCH] [FIX] account,*: fix inconsistent invoice line onchange methods (typos) lp bug: https://launchpad.net/bugs/932972 fixed bzr revid: odo@openerp.com-20120216184214-jtxi81nkwf1i57g1 --- addons/account/account_invoice.py | 12 +++++++++--- addons/account/account_invoice_view.xml | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 32864f9477f..c7771828bd3 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -1488,13 +1488,19 @@ class account_invoice_line(osv.osv): # # Set the tax field according to the account and the fiscal position # - def onchange_account_id(self, cr, uid, ids, fposition_id, account_id): + def onchange_account_id(self, cr, uid, ids, product_id, partner_id, fposition_id, account_id): if not account_id: return {} taxes = self.pool.get('account.account').browse(cr, uid, account_id).tax_ids fpos = fposition_id and self.pool.get('account.fiscal.position').browse(cr, uid, fposition_id) or False - res = self.pool.get('account.fiscal.position').map_tax(cr, uid, fpos, taxes) - return {'value':{'invoice_line_tax_id': res}} + tax_ids = self.pool.get('account.fiscal.position').map_tax(cr, uid, fpos, taxes) + + product_change_result = self.product_id_change(cr, uid, ids, product_id, False, + partner_id=partner_id, fposition_id=fposition_id) + unique_tax_ids = set(tax_ids) + if product_change_result and 'value' in product_change_result and 'invoice_line_tax_id' in product_change_result['value']: + unique_tax_ids |= set(product_change_result['value']['invoice_line_tax_id']) + return {'value':{'invoice_line_tax_id': list(unique_tax_ids)}} account_invoice_line() diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 1b08b081bbe..2fae56b968b 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -59,7 +59,7 @@ - + @@ -171,7 +171,7 @@ - +