diff options
| author | David Beguin <dbe@odoo.com> | 2018-10-30 10:47:28 +0000 |
|---|---|---|
| committer | David Beguin <dbe@odoo.com> | 2018-11-20 11:37:05 +0000 |
| commit | e69b89b8fa8439fea27094ef86d97ffd8972124c (patch) | |
| tree | 23aefa790fc8346fc73796b11579381bafb8d796 /addons/mass_mailing/controllers | |
| parent | fc2a8d63ee09053f12493683400ec424cab8ce16 (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')
| -rw-r--r-- | addons/mass_mailing/controllers/main.py | 8 |
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) |
