From 1dc7d4d3d8ba4ad1cdd299988a3407fd3d01f443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 4 Jun 2014 18:54:20 +0200 Subject: [PATCH] [FIX] mass_mailing: fixed computation of mailing domain when having more than 1 mailing list added in the recipients. A bit longer, but less buggy. --- addons/mass_mailing/models/mass_mailing.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/addons/mass_mailing/models/mass_mailing.py b/addons/mass_mailing/models/mass_mailing.py index bfeb3aeeafe..d1c3e7facd4 100644 --- a/addons/mass_mailing/models/mass_mailing.py +++ b/addons/mass_mailing/models/mass_mailing.py @@ -480,9 +480,14 @@ class MassMailing(osv.Model): def on_change_model_and_list(self, cr, uid, ids, mailing_model, list_ids, context=None): value = {} if mailing_model == 'mail.mass_mailing.contact': - list_ids = map(lambda item: item if isinstance(item, (int, long)) else [lid for lid in item[2]], list_ids) - if list_ids: - value['mailing_domain'] = "[('list_id', 'in', %s)]" % list_ids + mailing_list_ids = set() + for item in list_ids: + if isinstance(item, (int, long)): + mailing_list_ids.add(item) + elif len(item) == 3: + mailing_list_ids |= set(item[2]) + if mailing_list_ids: + value['mailing_domain'] = "[('list_id', 'in', %s)]" % list(mailing_list_ids) else: value['mailing_domain'] = "[('list_id', '=', False)]" else: