From 46c1091f36803a5991c90982b80d43972a47ff24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Maes?= <jem@openerp.com> Date: Mon, 2 Oct 2017 19:53:58 +0200 Subject: [PATCH] [FIX] hr_expense: avoid crash when submitting Create the sheet before opening a cached one avoid to get error when computing computed field. --- addons/hr_expense/models/hr_expense.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 086dc125ccab..3b0fbdf9bba1 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -109,16 +109,17 @@ class HrExpense(models.Model): raise UserError(_("You cannot report twice the same line!")) if len(self.mapped('employee_id')) != 1: raise UserError(_("You cannot report expenses for different employees in the same report!")) + expense_sheet = self.env['hr.expense.sheet'].create({ + 'expense_line_ids': [(4, line.id) for line in self], + 'name': self[0].name if len(self.ids) == 1 else '', + 'employee_id': self[0].employee_id.id, + }) return { 'type': 'ir.actions.act_window', 'view_mode': 'form', 'res_model': 'hr.expense.sheet', 'target': 'current', - 'context': { - 'default_expense_line_ids': [line.id for line in self], - 'default_employee_id': self[0].employee_id.id, - 'default_name': self[0].name if len(self.ids) == 1 else '' - } + 'res_id': expense_sheet.id, } def _prepare_move_line(self, line): -- GitLab