Website Form - ReCaptcha
Adds a ReCaptcha field widget for website forms (extends the website_form module).
This module will try to use the language of your website. If it can’t find it for any reason, it will default to google API and use the language of the browser or your location.
Table of contents
First of all you must obtain a ReCaptcha key from Google
- Add site key to recaptcha.key.site system parameter
- Add secret key to recaptcha.key.secret system parameter
Single website setup
- Go to website settings
- Set site key and secret key
To use this module, you need to:
- Already have a form-enabled model (refer to website_form docs)
- Set website_form_recaptcha to True on that model (similar to enabling forms)
- Add an element with the o_website_form_recaptcha class anywhere in the form
Look at website_crm_recaptcha module for example implementation.
- Add domain validation
- Split recaptcha APIs from website_form dependency (ie: new module website_recaptcha_base)
Fix handling of request attribute
Add backward compatibility for recent API refactoring
Refactor APIs and allow per-website config
- API keys can now be configured via website settings which in turn allow to customize the values per website in a multi-website instance;
- move all internal APIs to the model website.form.recaptcha so that we do not depend anymore on the controller if we need to integrate it into other pieces of code.
- Use readme fragments
Improve JS and enforce translations
Make JS modular and pass language parameter according to website lang.
Fix duplicated calls
When website_crm_phone_validation is installed, the captcha validation is called twice so the form always fail as with a ‘timeout-or-duplicate’ error.
Fix JS LINT errors
Improve error handling to show all error messages at the same time
Migrate to v11
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/website project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.