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.
OCA-git-bot 9c8317f79c [UPD] README.rst 1 month ago
demo [10.0][ADD] website_form_builder: Exactly what the title says (#402) 1 year ago
i18n Update translation files 4 months ago
readme [MIG] website_form_builder: Migration to 11.0 1 year ago
static [UPD] README.rst 1 month ago
templates [FIX] website_form_builder: Fix missing required field indicators 5 months ago
tests [MIG] website_form_builder: Migration to 11.0 1 year ago
views [10.0][ADD] website_form_builder: Exactly what the title says (#402) 1 year ago
README.rst [UPD] README.rst 1 year ago [10.0][ADD] website_form_builder: Exactly what the title says (#402) 1 year ago [FIX] website_form_builder: Fix missing required field indicators 5 months ago


Website Form Builder

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

.. |badge1| image::
:alt: Beta
.. |badge2| image::
:alt: License: LGPL-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|

This module provides websites the feature of adding custom forms in any page.

**Table of contents**

.. contents::


Install some other addon that provides ``website_form`` support to
benefit from this one's features. Hints:

* ``website_crm``
* ``website_form_project``
* ``website_hr_recruitment``
* ``website_sale``


To configure this module, you need to:

#. Have *Administration / Settings* privileges.
#. Go to *Settings > Activate developer mode*.
#. Go to *Settings > Technical > Database Structure > Models*.
#. Search for the model you want to manage website form access for.
#. When you find it, it will have a *Website Forms* section where you can:

* Allow the model to get forms, by checking *Allowed to use in forms*.
* Give the model forms a better name in *Label for form action*.
* Choose the field where to store custom fields data in *Field for custom
form data*. If you leave this one empty and the model is a mail thread,
a new message will be appended with that custom data.

#. In the *Fields* tab, there's a new column called *Blacklisted in web forms*.
It's a security feature that forbids form submitters to write to those
fields. When you create a new website form, all its model fields are
automatically whitelisted for the sake of improving the UX. If you want to
have higher control, come back here after creating the form and blacklist
any fields you want, although that will only work for custom fields.


To use this module, you need to:

#. Go to any of your website pages.
#. Edit it.
#. Drag and drop the *Form* snippet into the page.
#. Use the snippet overlay to add, edit and remove fields.
#. If you want to set a hidden field, make sure you set a valid default value
on it, or users may get hidden errors and they might even be unable to send
the form!

Known issues / Roadmap

* These type of fields will not appear, they are forbidden since they make no
sense in this module's context, or a correct implementation would be adding
not much value while adding lots of complexity:

* ``id``
* ``create_uid``
* ``create_date``
* ``write_uid``
* ``write_date``
* ``__last_update``
* Any ``one2many`` fields
* Any ``reference`` fields
* Any ``serialized`` fields
* Any read-only fields

* You should include in your
installation to get a better UX when a user has already sent a form and
cannot resend it.

* To edit any ``<label>`` text, you need to click twice. Review the problem
once gets fixed.

* You cannot edit base fields blacklisted status manually because
`Odoo forbids that for security

* ``website_form`` works in unexpected and undocumented ways. If you plan to
add support in your addon, `this is a good place to start reading

* If you add a custom file upload field to a form that creates records in
models that have no ``mail.thread`` inheritance, your users will be unable
to send the form.

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.



* Tecnativa


* `Tecnativa <>`_:
* Jairo Llopis <>

Other credits




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