diff --git a/addons/crm_mass_mailing/mass_mailing.py b/addons/crm_mass_mailing/mass_mailing.py index 6a2e1322136..20b7b4db86d 100644 --- a/addons/crm_mass_mailing/mass_mailing.py +++ b/addons/crm_mass_mailing/mass_mailing.py @@ -4,3 +4,11 @@ from openerp.osv import osv class MassMailing(osv.Model): _name = 'mail.mass_mailing' _inherit = ['mail.mass_mailing', 'crm.tracking.mixin'] + + def on_change_model_and_list(self, cr, uid, ids, mailing_model, list_ids, context=None): + res = super(MassMailing, self).on_change_model_and_list(cr, uid, ids, mailing_model, list_ids, context=context) + if mailing_model == 'crm.lead': + res = res or {} + values = {'mailing_domain': "[('opt_out', '=', False)]"} + res = dict(res, value=dict(res.get('value', {}), **values)) + return res diff --git a/addons/mass_mailing/models/mass_mailing.py b/addons/mass_mailing/models/mass_mailing.py index 4e42f335b1b..f496736eb22 100644 --- a/addons/mass_mailing/models/mass_mailing.py +++ b/addons/mass_mailing/models/mass_mailing.py @@ -517,6 +517,8 @@ class MassMailing(osv.Model): value['mailing_domain'] = "[('list_id', 'in', %s), ('opt_out', '=', False)]" % list(mailing_list_ids) else: value['mailing_domain'] = "[('list_id', '=', False)]" + elif mailing_model in ['res.partner']: + value['mailing_domain'] = "[('opt_out', '=', False)]" else: value['mailing_domain'] = [] return {'value': value}