From 5cffff6e60753fb29d73bc1bba2bd00051a0dd13 Mon Sep 17 00:00:00 2001 From: Julien Mougenot Date: Wed, 8 Sep 2021 10:56:49 +0000 Subject: [PATCH] [FIX] google_recaptcha: Add key in session_info Before this commit, if there was a Google ReCaptcha public key registered on the database, it was given to the backend along with the assets in the `session_info` global key. Since this key is meant to be used on the frontend to generate recaptcha tokens, it should be available there as well. Now, it is also given to the frontend version of the `session_info` key. closes odoo/odoo#76600 Task: 2639095 X-original-commit: 27136cd09abfb4e012b0df2d53877534cbcdad28 Signed-off-by: Julien Mougenot (jum) --- addons/google_recaptcha/models/ir_http.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/addons/google_recaptcha/models/ir_http.py b/addons/google_recaptcha/models/ir_http.py index 615ea3077ec..ef18056f762 100644 --- a/addons/google_recaptcha/models/ir_http.py +++ b/addons/google_recaptcha/models/ir_http.py @@ -15,6 +15,16 @@ class Http(models.AbstractModel): def session_info(self): session_info = super().session_info() + return self._add_public_key_to_session_info(session_info) + + @api.model + def get_frontend_session_info(self): + frontend_session_info = super().get_frontend_session_info() + return self._add_public_key_to_session_info(frontend_session_info) + + @api.model + def _add_public_key_to_session_info(self, session_info): + """Add the ReCaptcha public key to the given session_info object""" public_key = self.env['ir.config_parameter'].sudo().get_param('recaptcha_public_key') if public_key: session_info['recaptcha_public_key'] = public_key