From 06d2f4d107669396fbeb360194fd24f4ad3f41ac Mon Sep 17 00:00:00 2001 From: gpa Date: Tue, 11 May 2010 16:42:40 +0530 Subject: [PATCH] [FIX] Sale : account_invoice_end() corrected/optimized so that it does not create any regression of duplicated pickings for SO bzr revid: gpa@tinyerp.com-20100511111240-a0ajvroqcazkzc8u --- addons/sale/sale.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 5a981e24bdc..19094050b96 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -510,18 +510,14 @@ class sale_order(osv.osv): def action_invoice_end(self, cr, uid, ids, context=None): if context is None: context = {} + for order in self.browse(cr, uid, ids, context=context): - val = {'invoiced': True} - if order.state == 'invoice_except': - val['state'] = 'progress' - for line in order.order_line: - towrite = [] if line.state == 'exception': - towrite.append(line.id) - if towrite: - self.pool.get('sale.order.line').write(cr, uid, towrite, {'state': 'confirmed'}, context=context) - self.write(cr, uid, [order.id], val) + self.pool.get('sale.order.line').write(cr, uid, [line.id], {'state': 'confirmed'}, context=context) + + if order.state == 'invoice_except': + self.write(cr, uid, [order.id], {'state' : 'progress'}, context=context) return True