summaryrefslogtreecommitdiff
path: root/addons/mass_mailing/controllers
diff options
context:
space:
mode:
authorDavid Beguin <dbe@odoo.com>2018-10-26 12:47:27 +0000
committerDavid Beguin <dbe@odoo.com>2018-11-20 11:37:05 +0000
commitfc2a8d63ee09053f12493683400ec424cab8ce16 (patch)
treedd01ccecc2982d25c46cb12a19fd601be8c8c420 /addons/mass_mailing/controllers
parent0fe50a01d2d4969f2a4cf85c36c2884407ccc682 (diff)
[IMP] mail, mass_mailing, mass_mailing_crm : Use normalized email in unsubscribe link
Use the email_normalized from mail.address.mixin if available to get always a normalized email address in the unsubscribe link. That allows to simplify the search on email address in the controllers -> Check blacklist, send feedback, etc.. Task ID 1896677
Diffstat (limited to 'addons/mass_mailing/controllers')
-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 66d17709b46..9f703881c46 100644
--- a/addons/mass_mailing/controllers/main.py
+++ b/addons/mass_mailing/controllers/main.py
@@ -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', '=ilike', email)])
+ contacts = request.env['mail.mass_mailing.contact'].sudo().search([('email_normalized', '=', 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
@@ -63,7 +63,7 @@ class MassMailController(http.Controller):
})
else:
opt_in_lists = request.env['mail.mass_mailing.list_contact_rel'].sudo().search([
- ('contact_id.email', '=', email),
+ ('contact_id.email_normalized', '=', email),
('opt_out', '=', False)
]).mapped('list_id')
blacklist_rec = request.env['mail.blacklist'].sudo()._add(email)
@@ -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', '=ilike', email)])
+ record = request.env['mail.blacklist'].sudo().with_context(active_test=False).search([('email', '=', 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', '=ilike', email)])
+ records = model.sudo().search([('email_normalized', '=', email)])
for record in records:
record.sudo().message_post(body=_("Feedback from %s: %s" % (email, feedback)))
return bool(records)