From 6aeef653f7b595fbc45c28950224a6445850ee50 Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Wed, 5 Oct 2011 16:32:38 +0530 Subject: [PATCH 1/2] [FIX] delivery: Fixed automatic calculation of freight tax on invoice when created from stock picking. lp bug: https://launchpad.net/bugs/816138 fixed bzr revid: uco@tinyerp.com-20111005110238-cpck52w8rb96u4j5 --- addons/delivery/stock.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/addons/delivery/stock.py b/addons/delivery/stock.py index 05074268220..b3599154840 100644 --- a/addons/delivery/stock.py +++ b/addons/delivery/stock.py @@ -118,16 +118,20 @@ class stock_picking(osv.osv): account_id = self.pool.get('account.fiscal.position').map_account(cursor, user, partner.property_account_position, account_id) taxes_ids = self.pool.get('account.fiscal.position').map_tax(cursor, user, partner.property_account_position, taxes) - invoice_line_obj.create(cursor, user, { - 'name': picking.carrier_id.name, - 'invoice_id': invoice.id, - 'uos_id': picking.carrier_id.product_id.uos_id.id, - 'product_id': picking.carrier_id.product_id.id, - 'account_id': account_id, - 'price_unit': price, - 'quantity': 1, - 'invoice_line_tax_id': [(6, 0,taxes_ids)], - }) + if any(inv_line.product_id.id == picking.carrier_id.product_id.id for inv_line in invoice.invoice_line): + continue + else: + invoice_line_obj.create(cursor, user, { + 'name': picking.carrier_id.name, + 'invoice_id': invoice.id, + 'uos_id': picking.carrier_id.product_id.uos_id.id, + 'product_id': picking.carrier_id.product_id.id, + 'account_id': account_id, + 'price_unit': price, + 'quantity': 1, + 'invoice_line_tax_id': [(6, 0,taxes_ids)], + }) + invoice_obj.button_compute(cursor, user, [invoice.id], context=context) return result stock_picking() From 486a4fc319dbfa1425c6c020ff56b62458c8cb69 Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Wed, 5 Oct 2011 16:48:56 +0530 Subject: [PATCH 2/2] [IMP] delivery: Small improvement. bzr revid: uco@tinyerp.com-20111005111856-9fet9nj13t7zikcs --- addons/delivery/stock.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/delivery/stock.py b/addons/delivery/stock.py index b3599154840..abc49c1cc92 100644 --- a/addons/delivery/stock.py +++ b/addons/delivery/stock.py @@ -131,7 +131,7 @@ class stock_picking(osv.osv): 'quantity': 1, 'invoice_line_tax_id': [(6, 0,taxes_ids)], }) - invoice_obj.button_compute(cursor, user, [invoice.id], context=context) + invoice_obj.button_compute(cursor, user, [invoice.id], context=context) return result stock_picking()