From 05ec0aabcd4d39335040ce539da3e5d59cd64649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Tue, 17 May 2011 15:35:31 +0200 Subject: [PATCH] Preserve order of sale line in invoice (transplanted from 41ec52ac100e4174ad9c94d59d8c856c4f3b612c) --- sale.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sale.py b/sale.py index a7ba704a4a..8e5e6549f5 100644 --- a/sale.py +++ b/sale.py @@ -650,7 +650,7 @@ class Sale(ModelWorkflow, ModelSQL, ModelView): :param sale: the BrowseRecord of the sale - :return: a dictionary with invoice line as key + :return: a dictionary with invoiced sale line id as key and a list of invoice lines values as value ''' line_obj = self.pool.get('sale.line') @@ -718,12 +718,14 @@ class Sale(ModelWorkflow, ModelSQL, ModelView): with Transaction().set_user(0, set_context=True): invoice_id = invoice_obj.create(vals) - for line_id in invoice_lines: - for vals in invoice_lines[line_id]: + for line in sale.lines: + if line.id not in invoice_lines: + continue + for vals in invoice_lines[line.id]: vals['invoice'] = invoice_id with Transaction().set_user(0, set_context=True): invoice_line_id = invoice_line_obj.create(vals) - sale_line_obj.write(line_id, { + sale_line_obj.write(line.id, { 'invoice_lines': [('add', invoice_line_id)], })