diff --git a/addons/mass_mailing/__manifest__.py b/addons/mass_mailing/__manifest__.py index 5dd136c88a4..36abfb83f75 100644 --- a/addons/mass_mailing/__manifest__.py +++ b/addons/mass_mailing/__manifest__.py @@ -4,7 +4,7 @@ { 'name': 'Email Marketing', 'summary': 'Design, send and track emails', - 'version': '2.5', + 'version': '2.6', 'sequence': 60, 'website': 'https://www.odoo.com/app/email-marketing', 'category': 'Marketing/Email Marketing', diff --git a/addons/mass_mailing/models/mailing.py b/addons/mass_mailing/models/mailing.py index d95f295c1b3..00ccf892457 100644 --- a/addons/mass_mailing/models/mailing.py +++ b/addons/mass_mailing/models/mailing.py @@ -53,7 +53,7 @@ class MassMailing(models.Model): }) if 'contact_list_ids' in fields_list and not vals.get('contact_list_ids') and vals.get('mailing_model_id'): - if vals.get('mailing_model_id') == self.env['ir.model']._get('mailing.list').id: + if vals.get('mailing_model_id') == self.env['ir.model']._get_id('mailing.list'): mailing_list = self.env['mailing.list'].search([], limit=2) if len(mailing_list) == 1: vals['contact_list_ids'] = [(6, 0, [mailing_list.id])] @@ -154,6 +154,9 @@ class MassMailing(models.Model): mailing_model_name = fields.Char( string='Recipients Model Name', related='mailing_model_id.model', readonly=True, related_sudo=True) + mailing_on_mailing_list = fields.Boolean( + string='Based on Mailing Lists', + compute='_compute_mailing_on_mailing_list') mailing_domain = fields.Char( string='Domain', compute='_compute_mailing_domain', readonly=False, store=True) @@ -383,6 +386,12 @@ class MassMailing(models.Model): for mailing in self: mailing.mailing_model_real = 'mailing.contact' if mailing.mailing_model_id.model == 'mailing.list' else mailing.mailing_model_id.model + @api.depends('mailing_model_id') + def _compute_mailing_on_mailing_list(self): + mailing_list_model_id = self.env['ir.model']._get('mailing.list') + self.mailing_on_mailing_list = False + self.filtered(lambda m: m.mailing_model_id == mailing_list_model_id).mailing_on_mailing_list = True + @api.depends('mailing_model_id', 'contact_list_ids', 'mailing_type', 'mailing_filter_id') def _compute_mailing_domain(self): for mailing in self: diff --git a/addons/mass_mailing/views/mailing_mailing_views.xml b/addons/mass_mailing/views/mailing_mailing_views.xml index a1af5512eee..1a43b40e0a7 100644 --- a/addons/mass_mailing/views/mailing_mailing_views.xml +++ b/addons/mass_mailing/views/mailing_mailing_views.xml @@ -194,14 +194,14 @@ -
+
-
+
+ -
+
@@ -483,7 +484,7 @@ - + @@ -536,8 +537,8 @@
/ Delivered to - - Mailing Contact + + Mailing Contact
@@ -567,8 +568,8 @@ - - Mailing Contact + + Mailing Contact