From 38a018a4442592ef5f38c93a1a4d52bc0bee96da Mon Sep 17 00:00:00 2001 From: Thomas Carlier Date: Mon, 10 Feb 2020 10:22:16 +0000 Subject: [PATCH] [FIX] hr_expense: fix the default product - before this commit the product was set to EXP_GEN but nothing if EXP_GEN is not in db anymore - now it will pick the first "expensable" product if EXP_GEN doesn't exist. closes odoo/odoo#47678 X-original-commit: ee35c662768c6f27dff88e9c4597695c17b3b67b Signed-off-by: Florian Daloze (fda) Signed-off-by: Thomas Carlier --- addons/hr_expense/models/hr_expense.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 60a402c0015..24243fa225b 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -180,8 +180,12 @@ class HrExpense(models.Model): if any(attachment.res_id or attachment.res_model != 'hr.expense' for attachment in attachments): raise UserError(_("Invalid attachments!")) - - product = self.env['product.product'].search([('default_code', '=', 'EXP_GEN')]) + + product = self.env['product.product'].search([('can_be_expensed', '=', True)]) + if product: + product = product.filtered(lambda p: p.default_code == "EXP_GEN") or product[0] + else: + raise UserError(_("You need to have at least one product that can be expensed in your database to proceed!")) for attachment in attachments: expense = self.env['hr.expense'].create({