Preserve order of sale line in invoice

(transplanted from 41ec52ac100e4174ad9c94d59d8c856c4f3b612c)
This commit is contained in:
Nicolas Évrard committed 2011-05-17 15:35:31 +02:00
1 parent 0812e33924
commit 05ec0aabcd
1 file changed
+6 -4
+6 -4
View File
@@ -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)],
})