diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py index 5c7fb382c15..8f51f4e83ba 100644 --- a/addons/mail/wizard/mail_compose_message.py +++ b/addons/mail/wizard/mail_compose_message.py @@ -504,12 +504,10 @@ class MailComposer(models.TransientModel): return blacklisted_rec_ids def _get_done_emails(self, mail_values_dict): - seen_list = self._context.get('mass_mailing_seen_list') or [] - return seen_list + return [] def _get_optout_emails(self, mail_values_dict): - opt_out_list = self._context.get('mass_mailing_opt_out_list') or [] - return opt_out_list + return [] def _onchange_template_id(self, template_id, composition_mode, model, res_id): """ - mass_mailing: we cannot render, so return the template values diff --git a/addons/mass_mailing/models/mailing.py b/addons/mass_mailing/models/mailing.py index e956434495c..86ab2f60a25 100644 --- a/addons/mass_mailing/models/mailing.py +++ b/addons/mass_mailing/models/mailing.py @@ -603,8 +603,6 @@ class MassMailing(models.Model): def _get_mass_mailing_context(self): """Returns extra context items with pre-filled blacklist and seen list for massmailing""" return { - 'mass_mailing_opt_out_list': self._get_opt_out_list(), - 'mass_mailing_seen_list': self._get_seen_list(), 'post_convert_links': self._get_link_tracker_values(), } diff --git a/addons/mass_mailing/wizard/mail_compose_message.py b/addons/mass_mailing/wizard/mail_compose_message.py index d863ff25dbc..87b1b914806 100644 --- a/addons/mass_mailing/wizard/mail_compose_message.py +++ b/addons/mass_mailing/wizard/mail_compose_message.py @@ -38,6 +38,7 @@ class MailComposeMessage(models.TransientModel): 'mailing_domain': self.active_domain, 'attachment_ids': [(6, 0, self.attachment_ids.ids)], }) + self.mass_mailing_id = mass_mailing.id recipients_info = self._process_recipient_values(res) mass_mail_layout = self.env.ref('mass_mailing.mass_mailing_mail_layout', raise_if_not_found=False) @@ -69,3 +70,15 @@ class MailComposeMessage(models.TransientModel): 'auto_delete': not mass_mailing.keep_archives, }) return res + + def _get_done_emails(self, mail_values_dict): + seen_list = super(MailComposeMessage, self)._get_done_emails(mail_values_dict) + if self.mass_mailing_id: + seen_list += self.mass_mailing_id._get_seen_list() + return seen_list + + def _get_optout_emails(self, mail_values_dict): + opt_out_list = super(MailComposeMessage, self)._get_optout_emails(mail_values_dict) + if self.mass_mailing_id: + opt_out_list += self.mass_mailing_id._get_opt_out_list() + return opt_out_list