summaryrefslogtreecommitdiff
path: root/addons/website_mass_mailing/controllers/main.py
diff options
context:
space:
mode:
authorfja-odoo <fja@odoo.com>2020-04-24 10:50:28 +0000
committerfja-odoo <fja@odoo.com>2020-06-05 10:58:50 +0000
commit541148613451f4c14a299672d91c4397d8a9f6de (patch)
treec798cd359c3960d4ae86ebc9847666a3a30bf4a6 /addons/website_mass_mailing/controllers/main.py
parentfea1706f275e88a0d28dd2776c6aa0dd62c1bf3d (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/main.py')
-rw-r--r--addons/website_mass_mailing/controllers/main.py11
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):