From 500b845b8aefe93ab25ece9316af659786f3632f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 21 May 2021 07:42:59 +0000 Subject: [PATCH] [IMP] mass_mailing_{event/event_track/sale}: add default mailing domains When performing an email or SMS mailing on functional models a default domain is a good start to avoid sending notifications to dead records, aka * canceled registrations; * canceled tracks; * canceled sale orders; Task ID-2431217 COM PR odoo#67322 ENT PR odoo/enterprise#16876 UPG PR odoo/upgrade#2236 closes odoo/odoo#67322 Signed-off-by: Thibault Delavallee (tde) --- addons/mass_mailing_event/models/event_registration.py | 3 +++ addons/mass_mailing_event_track/models/event_track.py | 3 +++ addons/mass_mailing_sale/models/sale_order.py | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/addons/mass_mailing_event/models/event_registration.py b/addons/mass_mailing_event/models/event_registration.py index 26b5f8f0a65..c2fc86d56c7 100644 --- a/addons/mass_mailing_event/models/event_registration.py +++ b/addons/mass_mailing_event/models/event_registration.py @@ -7,3 +7,6 @@ from odoo import models class EventRegistration(models.Model): _inherit = 'event.registration' _mailing_enabled = True + + def _mailing_get_default_domain(self, mailing): + return [('state', '!=', 'cancel')] diff --git a/addons/mass_mailing_event_track/models/event_track.py b/addons/mass_mailing_event_track/models/event_track.py index 6fb71e7ef09..d84c0194c51 100644 --- a/addons/mass_mailing_event_track/models/event_track.py +++ b/addons/mass_mailing_event_track/models/event_track.py @@ -7,3 +7,6 @@ from odoo import models class EventTrack(models.Model): _inherit = 'event.track' _mailing_enabled = True + + def _mailing_get_default_domain(self, mailing): + return [('stage_id.is_cancel', '=', False)] diff --git a/addons/mass_mailing_sale/models/sale_order.py b/addons/mass_mailing_sale/models/sale_order.py index 36dccbd4ffa..d55aaef7432 100644 --- a/addons/mass_mailing_sale/models/sale_order.py +++ b/addons/mass_mailing_sale/models/sale_order.py @@ -7,3 +7,7 @@ from odoo import models class SaleOrder(models.Model): _inherit = 'sale.order' _mailing_enabled = True + + def _mailing_get_default_domain(self, mailing): + """ Exclude by default canceled orders when performing a mass mailing. """ + return [('state', '!=', 'cancel')]