From ee8cf455ba23bc3ac238ea6a25dab5aef9ab746e Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Mon, 21 Dec 2009 19:04:57 +0530 Subject: [PATCH] [FIX] Account_tax_include : improvements when invoice lines are created prior to invoice bzr revid: jvo@tinyerp.com-20091221133457-c1n141k0w5yzhdow --- addons/account_tax_include/invoice_tax_incl.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/account_tax_include/invoice_tax_incl.py b/addons/account_tax_include/invoice_tax_incl.py index 2e47ecc..f05679c 100644 --- a/addons/account_tax_include/invoice_tax_incl.py +++ b/addons/account_tax_include/invoice_tax_incl.py @@ -49,7 +49,7 @@ class account_invoice_line(osv.osv): tax_obj = self.pool.get('account.tax') cur_obj = self.pool.get('res.currency') for line in self.browse(cr, uid, ids): - cur = line.invoice_id.currency_id + cur = line.invoice_id and line.invoice_id.currency_id or False res_init = super(account_invoice_line, self)._amount_line(cr, uid, [line.id], name, args, context) res[line.id] = { 'price_subtotal': 0.0, @@ -67,13 +67,13 @@ class account_invoice_line(osv.osv): product_taxes = filter(lambda x: x.price_include, line.product_id.supplier_taxes_id) if ((set(product_taxes) == set(line.invoice_line_tax_id)) or not product_taxes) and (line.invoice_id.price_type == 'tax_included'): - res[line.id]['price_subtotal_incl'] = cur_obj.round(cr, uid, cur, res_init[line.id]) + res[line.id]['price_subtotal_incl'] = cur and cur_obj.round(cr, uid, cur, res_init[line.id]) or res_init[line.id] else: - res[line.id]['price_subtotal'] = cur_obj.round(cr, uid, cur, res_init[line.id]) + res[line.id]['price_subtotal'] = cur and cur_obj.round(cr, uid, cur, res_init[line.id]) or res_init[line.id] for tax in tax_obj.compute_inv(cr, uid, product_taxes, res_init[line.id]/line.quantity, line.quantity): res[line.id]['price_subtotal'] = res[line.id]['price_subtotal'] - round(tax['amount'], int(config['price_accuracy'])) else: - res[line.id]['price_subtotal'] = cur_obj.round(cr, uid, cur, res_init[line.id]) + res[line.id]['price_subtotal'] = cur and cur_obj.round(cr, uid, cur, res_init[line.id]) or res_init[line.id] if res[line.id]['price_subtotal']: res[line.id]['price_subtotal_incl'] = res[line.id]['price_subtotal'] -- 1.7.10.4