From 39da5df546ffc59a51d40589be72f934cb6a291b Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Fri, 11 Sep 2015 15:40:31 +0200 Subject: [PATCH] [FIX] sale: prevent traceback when view invoices Since it is possible to select several SO and generate the invoices at once, it must be possible to view all these generated invoices. --- addons/sale/sale.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 9efaadaa910..b150ebedbe4 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -220,7 +220,7 @@ class SaleOrder(models.Model): @api.multi def action_view_invoice(self): - self.ensure_one() + invoice_ids = self.mapped('invoice_ids') imd = self.env['ir.model.data'] action = imd.xmlid_to_object('account.action_invoice_tree1') list_view_id = imd.xmlid_to_res_id('account.invoice_tree') @@ -235,11 +235,11 @@ class SaleOrder(models.Model): 'context': action.context, 'res_model': action.res_model, } - if len(self.invoice_ids) > 1: - result['domain'] = "[('id','in',%s)]" % self.invoice_ids.ids - elif len(self.invoice_ids) == 1: + if len(invoice_ids) > 1: + result['domain'] = "[('id','in',%s)]" % invoice_ids.ids + elif len(invoice_ids) == 1: result['views'] = [(form_view_id, 'form')] - result['res_id'] = self.invoice_ids.id + result['res_id'] = invoice_ids.ids[0] else: result = {'type': 'ir.actions.act_window_close'} return result