From 82f56ffddfc6aed21030214dc95c0a3e9f5d9a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 2 Dec 2019 12:33:41 +0000 Subject: [PATCH] [IMP] mail: simplify parent and parent internal computation in routing PURPOSE Clean posting process and improve mail.message definition and comprehension. SPECIFICATIONS In this commit we use the is_internal flag to correctly propagate it from mail gateway and clean some parent check. In this commit some code is cleaned. No functional change should occur with this commit. LINKS Task ID 2071556 PR #38692 --- addons/mail/models/mail_thread.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/addons/mail/models/mail_thread.py b/addons/mail/models/mail_thread.py index 91e9c7e16a1..6ca54653d87 100644 --- a/addons/mail/models/mail_thread.py +++ b/addons/mail/models/mail_thread.py @@ -1437,18 +1437,15 @@ class MailThread(models.AbstractModel): stored_date = datetime.datetime.now() msg_dict['date'] = stored_date.strftime(tools.DEFAULT_SERVER_DATETIME_FORMAT) + parent_ids = False if msg_dict['in_reply_to']: parent_ids = self.env['mail.message'].search([('message_id', '=', msg_dict['in_reply_to'])], limit=1) - if parent_ids: - msg_dict['parent_id'] = parent_ids.id - msg_dict['is_internal'] = parent_ids.subtype_id and parent_ids.subtype_id.internal or False - - if msg_dict['references'] and 'parent_id' not in msg_dict: + if msg_dict['references'] and not parent_ids: references_msg_id_list = tools.mail_header_msgid_re.findall(msg_dict['references']) parent_ids = self.env['mail.message'].search([('message_id', 'in', [x.strip() for x in references_msg_id_list])], limit=1) - if parent_ids: - msg_dict['parent_id'] = parent_ids.id - msg_dict['is_internal'] = parent_ids.subtype_id and parent_ids.subtype_id.internal or False + if parent_ids: + msg_dict['parent_id'] = parent_ids.id + msg_dict['is_internal'] = parent_ids.subtype_id and parent_ids.subtype_id.internal or False msg_dict.update(self._message_parse_extract_payload(message, save_original=save_original)) msg_dict.update(self._message_parse_extract_bounce(message, msg_dict))