From 5f10e5f7fe44ecd39cab6891e1e4ec33f56a20aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 19 Aug 2016 21:38:01 +0200 Subject: [PATCH] Use instance to create credit note issue5751 review26541004 --- complaint.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/complaint.py b/complaint.py index a54fb283c4..492fe51bd3 100644 --- a/complaint.py +++ b/complaint.py @@ -434,22 +434,22 @@ class Action(ModelSQL, ModelView): invoice_line = self.complaint.origin invoice = invoice_line.invoice invoice_lines = [invoice_line] - values = invoice._credit() - lines_values = [] + credit_note = invoice._credit() + credit_lines = [] for invoice_line in invoice_lines: credit_line = invoice_line._credit() - lines_values.append(credit_line) + credit_lines.append(credit_line) # Remove product as it is not a return - credit_line.pop('product', None) - credit_line['origin'] = str(self.complaint) + credit_line.product = None + credit_line.origin = self.complaint if isinstance(self.complaint.origin, Line): if self.quantity is not None: - lines_values[0]['quantity'] = -self.quantity + credit_lines[0].quantity = -self.quantity if self.unit_price is not None: - lines_values[0]['unit_price'] = self.unit_price - values['lines'] = [('create', lines_values)] - del values['taxes'] - credit_note, = Invoice.create([values]) + credit_lines[0].unit_price = self.unit_price + credit_note.lines = credit_lines + credit_note.taxes = None + credit_note.save() Invoice.update_taxes([credit_note]) else: return