From 37e9dda232cff05278baf829b4ffbd6946d64627 Mon Sep 17 00:00:00 2001 From: Paul Morelle Date: Thu, 1 Jul 2021 12:53:22 +0000 Subject: [PATCH] [FIX] digest: avoid exception on user creation Scenario to reproduce the issue on runbot 12.0 Community: - Go to Settings > Technical > Email > Digest Emails - Select the Weekly Digest - Click on Action > Delete - Click on OK - Go to Settings > Users & Companies > Users - Click on Create - Fill the Name and the Email Address - Save - Odoo Server Error - Missing Record Some users seem to delete this record to stop receiving the digest for everyone, including for future users. The problem is that, even if the digest has been deleted, the config parameters are still referencing it. This commit prevents the exception by having an empty recordset if the digest does not exist. closes odoo/odoo#73237 X-original-commit: 2910bd24f410e882b9745337f918a206b25925f7 Signed-off-by: Paul Morelle --- addons/digest/models/res_users.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/digest/models/res_users.py b/addons/digest/models/res_users.py index 432e140df33..397d672e60e 100644 --- a/addons/digest/models/res_users.py +++ b/addons/digest/models/res_users.py @@ -13,6 +13,6 @@ class ResUsers(models.Model): default_digest_emails = self.env['ir.config_parameter'].sudo().get_param('digest.default_digest_emails') default_digest_id = self.env['ir.config_parameter'].sudo().get_param('digest.default_digest_id') if default_digest_emails and default_digest_id: - digest = self.env['digest.digest'].sudo().browse(int(default_digest_id)) + digest = self.env['digest.digest'].sudo().browse(int(default_digest_id)).exists() digest.user_ids |= users.filtered_domain([('share', '=', False)]) return users