.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

===============
web_m2x_options
===============

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:881a75e6602b8037ae91fff6ff77e99caff9cba4b1ccda3dff174f64f4e42824
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
    :target: https://github.com/OCA/web/tree/18.0/web_m2x_options
    :alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_m2x_options
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0
    :alt: Try me on Runboat

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

This modules modifies "many2one" and "many2manytags" form widgets so as
to add some new display control options.

Options provided includes possibility to remove "Create..." and/or
"Create and Edit..." entries drop down. You can also change default
number of proposition appearing in the drop-down.

If not specified, the module will avoid proposing any of the create
options if the current user has no permission rights to create the
related object.

**Table of contents**

.. contents::
   :local:

Usage
=====

in the field's options dict
---------------------------

``limit`` *int* (Default: odoo default value is ``8``)

   Number of displayed record in drop-down panel

``search_more`` *boolean*

   Used to force disable/enable search more button.

``field_color`` *string*

   A string to define the field used to define color. This option has to
   be used with colors.

``colors`` *dictionary*

   A dictionary to link field value with a HTML color. This option has
   to be used with field_color.

ir.config_parameter options
---------------------------

Now you can disable "Create..." and "Create and Edit..." entry for all
widgets in the odoo instance. If you disable one option, you can enable
it for particular field by setting "create: True" option directly on the
field definition.

``web_m2x_options.create`` *boolean* (Default: depends if user have
create rights)

   Whether to display the "Create..." entry in dropdown panel for all
   fields in the odoo instance.

``web_m2x_options.create_edit`` *boolean* (Default: depends if user have
create rights)

   Whether to display "Create and Edit..." entry in dropdown panel for
   all fields in the odoo instance.

``web_m2x_options.limit`` *int* (Default: odoo default value is ``8``)

   Number of displayed record in drop-down panel for all fields in the
   odoo instance

``web_m2x_options.search_more`` *boolean* (Default: default value is
``False``)

   Whether the field should always show "Search more..." entry or not.

``web_m2x_options.field_limit_entries`` *int*

   Number of displayed lines on all One2many fields

To add these parameters go to Configuration -> Technical -> Parameters
-> System Parameters and add new parameters like:

- web_m2x_options.create: False
- web_m2x_options.create_edit: False
- web_m2x_options.limit: 10
- web_m2x_options.search_more: True
- web_m2x_options.field_limit_entries: 5

Example
-------

Your XML form view definition could contain:

.. code:: xml

   ...
   <field name="partner_id" options="{'limit': 10, 'search_more': true, 'field_color':'type', 'colors':{'contact':'green', 'invoice': 'red', 'delivery': 'blue'}}"/>
   ...

Known issues / Roadmap
======================

Double check that you have no inherited view that remove ``options`` you
set on a field ! If nothing works, add a debugger in the first line of
``_search method`` and enable debug mode in Odoo. When you write
something in a many2one field, javascript debugger should pause. If not
verify your installation.

- Instead of making the tags rectangle clickable, I think it's better to
  put the text as a clickable link, so we will get a consistent
  behaviour/aspect with other clickable elements (many2one...).
- Properly support web_m2x_options on Many2OneReferenceField.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/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 <https://github.com/OCA/web/issues/new?body=module:%20web_m2x_options%0Aversion:%2018.0%0A%0A**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.

Credits
=======

Authors
-------

* initOS GmbH
* ACSONE SA/NV
* 0k.io
* Tecnativa
* Sygel

Contributors
------------

- David Coninckx <davconinckx@gmail.com>

- Emanuel Cino <ecino@compassion.ch>

- Holger Brunn <hbrunn@therp.nl>

- Nicolas JEUDY <nicolas@sudokeys.com>

- Yannick Vaucher <yannick.vaucher@camptocamp.com>

- Zakaria Makrelouf <z.makrelouf@gmail.com>

- `Tecnativa <https://www.tecnativa.com>`__:

  - Jairo Llopis <jairo.llopis@tecnativa.com>
  - David Vidal <david.vidal@tecnativa.com>
  - Ernesto Tejeda <ernesto.tejeda87@gmail.com>
  - Carlos Roca

- Bhavesh Odedra <bodedra@opensourceintegrators.com>

- Dhara Solanki <dhara.solanki@initos.com> (http://www.initos.com)

- `Trobz <https://trobz.com>`__:

  - Hoang Diep <hoang@trobz.com>

- `Sygel <https://sygel.es>`__:

  - Manuel Regidor <manuel.regidor@sygel.es>
  - Valentín Vinagre <valentin.vinagre@sygel.es>
  - Harald Panten <harald.panten@sygel.es>

- `ACSONE SA/NV <https://acsone.eu>`__:

  - Souheil BEJAOUI <souheil.bejaoui@acsone.eu>

Other credits
-------------



Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

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/web <https://github.com/OCA/web/tree/18.0/web_m2x_options>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
