From 73ef3a7471e1019354f77e20e25693a71a224286 Mon Sep 17 00:00:00 2001 From: Chafique Date: Fri, 29 Jun 2018 18:04:21 +0200 Subject: [PATCH] fix name for line with royalty product --- .../wizards/base_invoicing.py | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/multi_company_holding_invoicing/wizards/base_invoicing.py b/multi_company_holding_invoicing/wizards/base_invoicing.py index 71aab88be4d..d010a09506f 100644 --- a/multi_company_holding_invoicing/wizards/base_invoicing.py +++ b/multi_company_holding_invoicing/wizards/base_invoicing.py @@ -192,24 +192,27 @@ def _get_invoice_line_data(self, data): @api.model def _prepare_invoice_line(self, data_line): - val_line = super(ChildInvoicing, self).\ - _prepare_invoice_line(data_line) - if data_line.get('__domain'): - order_ids = self.env['sale.order'].search( - data_line['__domain']).ids - line_ids = self.env['sale.order.line'].search([ - ('order_id', 'in', order_ids)]).ids - val_line['sale_line_ids'] = [(6, 0, line_ids)] # TODO the code is too complicated # we should simplify the _get_invoice_line_data # and _prepare_invoice_line to avoid this kind of hack if data_line.get('name') == 'royalty': agree = self.env['agreement'].browse( data_line['agreement_id'][0]) - val_line.update(self._get_accounting_value_from_product( - data_line, - agree.holding_royalty_product_id)) - val_line['name'] = agree.holding_royalty_product_id.name + val_line = self._get_accounting_value_from_product( + data_line, agree.holding_royalty_product_id) + val_line.update({ + 'price_unit': data_line['amount_untaxed'], + 'quantity': data_line.get('quantity', 1), + }) + else: + val_line = super(ChildInvoicing, self).\ + _prepare_invoice_line(data_line) + if data_line.get('__domain'): + order_ids = self.env['sale.order'].search( + data_line['__domain']).ids + line_ids = self.env['sale.order.line'].search([ + ('order_id', 'in', order_ids)]).ids + val_line['sale_line_ids'] = [(6, 0, line_ids)] return val_line @api.model