From 209e13d81648ce935f0ebf4d59efdee432b33f6f Mon Sep 17 00:00:00 2001 From: "Kirti Savalia (OpenERP)" Date: Wed, 9 Nov 2011 15:32:29 +0530 Subject: [PATCH 1/3] [FIX]:wrong salesman on invoice from create picking bzr revid: ksa@tinyerp.com-20111109100229-s93f78sjahswdpj7 --- addons/sale/stock.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/sale/stock.py b/addons/sale/stock.py index eeb37c28d9a..22288e55934 100644 --- a/addons/sale/stock.py +++ b/addons/sale/stock.py @@ -136,10 +136,13 @@ class stock_picking(osv.osv): for picking in picking_obj.browse(cursor, user, picking_ids, context=context): - if not picking.sale_id: - continue sale_lines = picking.sale_id.order_line invoice_created = invoices[result[picking.id]] + if not picking.sale_id: + continue + else: + invoice_obj.write(cursor, user, [invoice_created.id], {'user_id': picking.sale_id and picking.sale_id.user_id and picking.sale_id.user_id.id or False}, context=context) + for inv in invoice_obj.browse(cursor, user, [invoice_created.id], context=context): if not inv.fiscal_position: invoice_obj.write(cursor, user, [inv.id], {'fiscal_position': picking.sale_id.fiscal_position.id}, context=context) From 545cfadbc7a6687c5776f80fd96de62a23b42471 Mon Sep 17 00:00:00 2001 From: "Kirti Savalia (OpenERP)" Date: Wed, 9 Nov 2011 18:15:35 +0530 Subject: [PATCH 2/3] [IMP]:improve the code bzr revid: ksa@tinyerp.com-20111109124535-007u96rruh7ozkjf --- addons/sale/stock.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/sale/stock.py b/addons/sale/stock.py index 22288e55934..4b683dcb97b 100644 --- a/addons/sale/stock.py +++ b/addons/sale/stock.py @@ -136,12 +136,11 @@ class stock_picking(osv.osv): for picking in picking_obj.browse(cursor, user, picking_ids, context=context): - sale_lines = picking.sale_id.order_line - invoice_created = invoices[result[picking.id]] if not picking.sale_id: continue - else: - invoice_obj.write(cursor, user, [invoice_created.id], {'user_id': picking.sale_id and picking.sale_id.user_id and picking.sale_id.user_id.id or False}, context=context) + sale_lines = picking.sale_id.order_line + invoice_created = invoices[result[picking.id]] + invoice_obj.write(cursor, user, [invoice_created.id], {'user_id': picking.sale_id and picking.sale_id.user_id and picking.sale_id.user_id.id or False}, context=context) for inv in invoice_obj.browse(cursor, user, [invoice_created.id], context=context): if not inv.fiscal_position: From 4bfa2880b1673f1d09e88b823ab9a87618dd03d5 Mon Sep 17 00:00:00 2001 From: "Kirti Savalia (OpenERP)" Date: Fri, 11 Nov 2011 11:10:21 +0530 Subject: [PATCH 3/3] [IMP]:improve code and remove the loop for invoice bzr revid: ksa@tinyerp.com-20111111054021-b2sv5f6jegyjs403 --- addons/sale/stock.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/sale/stock.py b/addons/sale/stock.py index 4b683dcb97b..788d5099fc5 100644 --- a/addons/sale/stock.py +++ b/addons/sale/stock.py @@ -142,9 +142,8 @@ class stock_picking(osv.osv): invoice_created = invoices[result[picking.id]] invoice_obj.write(cursor, user, [invoice_created.id], {'user_id': picking.sale_id and picking.sale_id.user_id and picking.sale_id.user_id.id or False}, context=context) - for inv in invoice_obj.browse(cursor, user, [invoice_created.id], context=context): - if not inv.fiscal_position: - invoice_obj.write(cursor, user, [inv.id], {'fiscal_position': picking.sale_id.fiscal_position.id}, context=context) + if not invoice_created.fiscal_position: + invoice_obj.write(cursor, user, [invoice_created.id], {'fiscal_position': picking.sale_id.fiscal_position.id}, context=context) if picking.sale_id.client_order_ref: inv_name = picking.sale_id.client_order_ref + " : " + invoice_created.name invoice_obj.write(cursor, user, [invoice_created.id], {'name': inv_name}, context=context)