summaryrefslogtreecommitdiff
path: root/addons/mass_mailing/controllers/main.py
diff options
context:
space:
mode:
authorDavid Beguin <dbe@odoo.com>2018-10-30 10:47:28 +0000
committerDavid Beguin <dbe@odoo.com>2018-11-20 11:37:05 +0000
commite69b89b8fa8439fea27094ef86d97ffd8972124c (patch)
tree23aefa790fc8346fc73796b11579381bafb8d796 /addons/mass_mailing/controllers/main.py
parentfc2a8d63ee09053f12493683400ec424cab8ce16 (diff)
[IMP] tools, mail : adds email normalization method in mail tools
In order to normalize email independently from the mail.address.mixin model.
Diffstat (limited to 'addons/mass_mailing/controllers/main.py')
-rw-r--r--addons/mass_mailing/controllers/main.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/addons/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py
index 9f703881c46..11b05685a06 100644
--- a/addons/mass_mailing/controllers/main.py
+++ b/addons/mass_mailing/controllers/main.py
@@ -4,7 +4,7 @@ import base64
import werkzeug
-from odoo import _, exceptions, http
+from odoo import _, exceptions, http, tools
from odoo.http import request
from odoo.tools import consteq
@@ -39,7 +39,7 @@ class MassMailController(http.Controller):
# Unsubscribe directly + Let the user choose his subscriptions
mailing.update_opt_out(email, mailing.contact_list_ids.ids, True)
- contacts = request.env['mail.mass_mailing.contact'].sudo().search([('email_normalized', '=', email)])
+ contacts = request.env['mail.mass_mailing.contact'].sudo().search([('email_normalized', '=', tools.email_normalize(email))])
subscription_list_ids = contacts.mapped('subscription_list_ids')
# In many user are found : if user is opt_out on the list with contact_id 1 but not with contact_id 2,
# assume that the user is not opt_out on both
@@ -115,7 +115,7 @@ class MassMailController(http.Controller):
if not self._valid_unsubscribe_token(mailing_id, res_id, email, token):
return 'unauthorized'
if email:
- record = request.env['mail.blacklist'].sudo().with_context(active_test=False).search([('email', '=', email)])
+ record = request.env['mail.blacklist'].sudo().with_context(active_test=False).search([('email', '=', tools.email_normalize(email))])
if record['active']:
return True
return False
@@ -152,7 +152,7 @@ class MassMailController(http.Controller):
if not self._valid_unsubscribe_token(mailing_id, res_id, email, token):
return 'unauthorized'
model = request.env[mailing.mailing_model_real]
- records = model.sudo().search([('email_normalized', '=', email)])
+ records = model.sudo().search([('email_normalized', '=', tools.email_normalize(email))])
for record in records:
record.sudo().message_post(body=_("Feedback from %s: %s" % (email, feedback)))
return bool(records)