diff options
| author | fja-odoo <fja@odoo.com> | 2020-04-24 10:50:28 +0000 |
|---|---|---|
| committer | fja-odoo <fja@odoo.com> | 2020-06-05 10:58:50 +0000 |
| commit | 541148613451f4c14a299672d91c4397d8a9f6de (patch) | |
| tree | c798cd359c3960d4ae86ebc9847666a3a30bf4a6 /addons/website_mass_mailing/controllers | |
| parent | fea1706f275e88a0d28dd2776c6aa0dd62c1bf3d (diff) | |
[IMP] google_recaptcha, *: integrate recaptchaV3
* = base_setup, website_form, website_sale, website_crm,
crm_iap_lead_website, website_hr_recruitment, website_mass_mailing
Integrate reCaptchaV3 on website_form submit and website_mass_mailing
subscription.
You can now use ReCaptchaV3 to add reCaptcha verification in any module
using google_recaptcha.
Also added a better error management on the form with custom messages.
task-2217980
closes odoo/odoo#48466
Related: odoo/enterprise#9649
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Diffstat (limited to 'addons/website_mass_mailing/controllers')
| -rw-r--r-- | addons/website_mass_mailing/controllers/main.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/addons/website_mass_mailing/controllers/main.py b/addons/website_mass_mailing/controllers/main.py index dc34504426c..60383155e80 100644 --- a/addons/website_mass_mailing/controllers/main.py +++ b/addons/website_mass_mailing/controllers/main.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import _ from odoo.http import route, request from odoo.osv import expression from odoo.addons.mass_mailing.controllers.main import MassMailController @@ -25,6 +26,11 @@ class MassMailController(MassMailController): @route('/website_mass_mailing/subscribe', type='json', website=True, auth="public") def subscribe(self, list_id, email, **post): + if not request.env['ir.http']._verify_request_recaptcha_token('website_mass_mailing_subscribe'): + return { + 'toast_type': 'danger', + 'toast_content': _("Suspicious activity detected by Google reCaptcha."), + } ContactSubscription = request.env['mailing.contact.subscription'].sudo() Contacts = request.env['mailing.contact'].sudo() name, email = Contacts.get_name_email(email) @@ -41,7 +47,10 @@ class MassMailController(MassMailController): # add email to session request.session['mass_mailing_email'] = email mass_mailing_list = request.env['mailing.list'].sudo().browse(list_id) - return {'toast_content': mass_mailing_list.toast_content} + return { + 'toast_type': 'success', + 'toast_content': mass_mailing_list.toast_content + } @route(['/website_mass_mailing/get_content'], type='json', website=True, auth="public") def get_mass_mailing_content(self, newsletter_id, **post): |
