diff options
| author | David Beguin <dbe@odoo.com> | 2018-10-26 12:47:27 +0000 |
|---|---|---|
| committer | David Beguin <dbe@odoo.com> | 2018-11-20 11:37:05 +0000 |
| commit | fc2a8d63ee09053f12493683400ec424cab8ce16 (patch) | |
| tree | dd01ccecc2982d25c46cb12a19fd601be8c8c420 /addons/mass_mailing/controllers/main.py | |
| parent | 0fe50a01d2d4969f2a4cf85c36c2884407ccc682 (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/main.py')
| -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 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) |
