From b3cfd62848ccdfeb25c25acc751db1ba6aa5d7e3 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 16 Jul 2020 11:22:26 +0200 Subject: [PATCH] [FIX] mass_mailing_list_dynamic: list sync on send - We change the method to hook on (it wasn't correctly overriden anyway) to ensure the list is resynced even if no recipients are left. For example: we create a dynamic list with a domain expecting it to sync in the first mass_mailing. It wouldn't sync as Odoo dismisses the mailing considering no recipients are left thus it wouldn't get into the `send_mail` method. --- mass_mailing_list_dynamic/models/mail_mass_mailing.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mass_mailing_list_dynamic/models/mail_mass_mailing.py b/mass_mailing_list_dynamic/models/mail_mass_mailing.py index e1ef350a8..531527c62 100644 --- a/mass_mailing_list_dynamic/models/mail_mass_mailing.py +++ b/mass_mailing_list_dynamic/models/mail_mass_mailing.py @@ -7,7 +7,9 @@ from odoo import models class MassMailing(models.Model): _inherit = "mail.mass_mailing" - def send_mail(self): - """Sync dynamic lists before sending mailings to them.""" + def get_remaining_recipients(self): + """When evaluating remaining recipients we must resync the list in + advance to avoid missing recipients due to domain change or new + partners fitting into the conditions""" self.contact_list_ids.action_sync() - return super().send_mail() + return super().get_remaining_recipients()