From 1a3877f77218b098d30e13f1aa7f281fc903e018 Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev <iel@odoo.com> Date: Fri, 25 Nov 2022 09:48:26 +0000 Subject: [PATCH] [FIX] mail: fix _invalidate_documents on updating empty value Method `_invalidate_documents` is used to invalidate cache on moving message to a new record. However, it must be skipped if the message wasn't attached to any record before. Before this commit it gives `KeyError` on reading `self.pool[False]`. STEPS: * install `hr_referral` module * open `Settings >> Technical >> Messages` * open a record with empty values in Related Document Model/ID * set any values in those fields opw-3056859 closes odoo/odoo#106521 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com> --- addons/mail/models/mail_message.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mail/models/mail_message.py b/addons/mail/models/mail_message.py index c1a12700eabf..300390e71b52 100644 --- a/addons/mail/models/mail_message.py +++ b/addons/mail/models/mail_message.py @@ -1221,7 +1221,7 @@ class Message(models.Model): for record in self: model = model or record.model res_id = res_id or record.res_id - if issubclass(self.pool[model], self.pool['mail.thread']): + if model and issubclass(self.pool[model], self.pool['mail.thread']): self.env[model].invalidate_cache(fnames=[ 'message_ids', 'message_unread', -- GitLab