[PERF] mail: skip state computation when posting through composer

Composer holds code to check recipients email and avoid sending emails when
recipients do not have valid emails. Purpose is to avoid bloating the email
queue with emails that are about to fail.

It is done by analyzing recipients of emails, aka checking 'recipient_ids'
value before creating the mail.mail.

When being in comment mode, this code has no use as recipients are computed
by the notification process, not by the composer. We can therefore skip this
part. It adds the 'state' and 'failure_type' values that are used on mail
model, but not on messages.

The same kind of processing could be done in notification process to avoid
sending unnecessary notifications, but this improvement belongs to another
commit and task.

Task-2710804 (Mail: Clean MailThread Posting API)

Part-of: odoo/odoo#99482
This commit is contained in:
Thibault Delavallée
2023-01-17 20:58:32 +01:00
parent 1394903873
commit 18e6f7d376
+2 -1
View File
@@ -449,7 +449,8 @@ class MailComposer(models.TransientModel):
results[res_id] = mail_values
results = self._process_state(results)
if mass_mail_mode:
results = self._process_state(results)
return results
def _process_recipient_values(self, mail_values_dict):