You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.


Website Form - ReCaptcha

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!

.. |badge1| image::
:alt: Beta
.. |badge2| image::
:alt: License: AGPL-3
.. |badge3| image::
:alt: OCA/website
.. |badge4| image::
:alt: Translate me on Weblate
.. |badge5| image::
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

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**

.. contents::


First of all you must obtain
a ReCaptcha key from `Google <>`_

**Global setup**

* Add site key to `` 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.

Known issues / Roadmap

* Add domain validation
* Split recaptcha APIs from `website_form` dependency
(ie: new module `website_recaptcha_base`)

========= (Unreleased)

* Fix handling of request attribute
* Add backward compatibility for recent API refactoring

[simahawk] (2019-01-10)

* 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

[simahawk] (2019-01-10)

* 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

[chienandalu] (2017-10-30)

* Migrate to v11


Bug Tracker

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 smashing it by providing a detailed and welcomed
`feedback <**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.



* LasLabs


* Dave Lasley <>
* Mykhailo Panarin <>
* Simone Orsi <>


This module is maintained by the OCA.

.. image::
:alt: Odoo Community Association

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