Skip to content

Commit

Permalink
[IMP] web_m2x_options: pre-commit stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
dyngnijs committed May 31, 2024
1 parent 526f581 commit 0ed4118
Show file tree
Hide file tree
Showing 14 changed files with 274 additions and 210 deletions.
Binary file added pandoc-3.2-1-amd64.deb
Binary file not shown.
193 changes: 113 additions & 80 deletions web_m2x_options/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,28 @@ web_m2x_options
: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/16.0/web_m2x_options
:target: https://github.com/OCA/web/tree/17.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-16-0/web-16-0-web_m2x_options
:target: https://translation.odoo-community.org/projects/web-17-0/web-17-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=16.0
:target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=17.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.
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 from many2one drop down. You can also change default number of
proposition appearing in the drop-down. Or prevent the dialog box poping in
case of validation error.
Options provided includes possibility to remove "Create..." and/or
"Create and Edit..." entries from many2one drop down. You can also
change default number of proposition appearing in the drop-down. Or
prevent the dialog box poping in case of validation error.

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

Expand All @@ -48,159 +49,191 @@ Usage
=====

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

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

Whether to display the "Create..." entry in dropdown panel.
Whether to display the "Create..." entry in dropdown panel.

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

Whether to display "Create and Edit..." entry in dropdown panel
Whether to display "Create and Edit..." entry in dropdown panel

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

Whether to display the many2one dialog in case of validation error.
Whether to display the many2one dialog in case of validation error.

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

Number of displayed record in drop-down panel
Number of displayed record in drop-down panel

``search_more`` *boolean*

Used to force disable/enable search more button.
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.
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.
A dictionary to link field value with a HTML color. This option has
to be used with field_color.

``no_open_edit`` *boolean* (Default: value of ``no_open`` which is ``False`` if not set)
``no_open_edit`` *boolean* (Default: value of ``no_open`` which is
``False`` if not set)

Causes a many2one not to offer to click through in edit mode, but well in read mode
Causes a many2one not to offer to click through in edit mode, but
well in read mode

``open`` *boolean* (Default: ``False``)

Makes many2many_tags and one2many rows buttons that open the linked resource
Makes many2many_tags and one2many rows buttons that open the linked
resource

``no_color_picker`` *boolean* (Default: ``False``)

Deactivates the color picker on many2many_tags buttons to do nothing (ignored if open is set)
Deactivates the color picker on many2many_tags buttons to do nothing
(ignored if open is set)

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.
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)
``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.
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)
``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.
Whether to display "Create and Edit..." entry in dropdown panel for
all fields in the odoo instance.

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

Whether to display the many2one dialog in case of validation error for all fields in the odoo instance.
Whether to display the many2one dialog in case of validation error
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
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``)
``web_m2x_options.search_more`` *boolean* (Default: default value is
``False``)

Whether the field should always show "Search more..." entry or not.
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
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.m2o_dialog: False
- web_m2x_options.limit: 10
- web_m2x_options.search_more: True
- web_m2x_options.field_limit_entries: 5
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.m2o_dialog: 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-block:: xml
.. code:: xml
...
<field name="partner_id" options="{'limit': 10, 'create': false, 'create_edit': false, 'search_more': true, 'field_color':'state', 'colors':{'active':'green'}}"/>
...
...
<field name="partner_id" options="{'limit': 10, 'create': false, 'create_edit': false, 'search_more': true, 'field_color':'state', 'colors':{'active':'green'}}"/>
...
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.
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...).
- In edit mode, it would be great to add an icon like the one on many2one fields to allow to open the many2many in a popup window.
- Include this feature as a configurable option via parameter to have this behaviour by default in all many2many tags.
- 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...).
- In edit mode, it would be great to add an icon like the one on
many2one fields to allow to open the many2many in a popup window.
- Include this feature as a configurable option via parameter to have
this behaviour by default in all many2many tags.

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:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_m2x_options%0Aversion:%2017.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

Contributors
~~~~~~~~~~~~

* David Coninckx <[email protected]>
* Emanuel Cino <[email protected]>
* Holger Brunn <[email protected]>
* Nicolas JEUDY <[email protected]>
* Yannick Vaucher <[email protected]>
* Zakaria Makrelouf <[email protected]>
* `Tecnativa <https://www.tecnativa.com>`_:

* Jairo Llopis <[email protected]>
* David Vidal <[email protected]>
* Ernesto Tejeda <[email protected]>
* Carlos Roca
* Bhavesh Odedra <[email protected]>
* Dhara Solanki <[email protected]> (http://www.initos.com)
* `Trobz <https://trobz.com>`_:
* Hoang Diep <[email protected]>
------------

- David Coninckx <[email protected]>

- Emanuel Cino <[email protected]>

- Holger Brunn <[email protected]>

- Nicolas JEUDY <[email protected]>

- Yannick Vaucher <[email protected]>

- Zakaria Makrelouf <[email protected]>

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

- Jairo Llopis <[email protected]>
- David Vidal <[email protected]>
- Ernesto Tejeda <[email protected]>
- Carlos Roca

- Bhavesh Odedra <[email protected]>

- Dhara Solanki <[email protected]> (http://www.initos.com)

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

- Hoang Diep <[email protected]>

Other credits
~~~~~~~~~~~~~
-------------

The migration of this module from 15.0 to 16.0 was financially supported by Camptocamp
The migration of this module from 15.0 to 16.0 was financially supported
by Camptocamp

Maintainers
~~~~~~~~~~~
-----------

This module is maintained by the OCA.

Expand All @@ -212,6 +245,6 @@ 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/16.0/web_m2x_options>`_ project on GitHub.
This module is part of the `OCA/web <https://github.com/OCA/web/tree/17.0/web_m2x_options>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 1 addition & 1 deletion web_m2x_options/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

{
"name": "web_m2x_options",
"version": "16.0.1.1.3",
"version": "17.0.1.1.3",
"category": "Web",
"author": "initOS GmbH,"
"ACSONE SA/NV, "
Expand Down
3 changes: 3 additions & 0 deletions web_m2x_options/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
24 changes: 24 additions & 0 deletions web_m2x_options/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
- David Coninckx \<<[email protected]>\>

- Emanuel Cino \<<[email protected]>\>

- Holger Brunn \<<[email protected]>\>

- Nicolas JEUDY \<<[email protected]>\>

- Yannick Vaucher \<<[email protected]>\>

- Zakaria Makrelouf \<<[email protected]>\>

- [Tecnativa](https://www.tecnativa.com):
- Jairo Llopis \<<[email protected]>\>
- David Vidal \<<[email protected]>\>
- Ernesto Tejeda \<<[email protected]>\>
- Carlos Roca

- Bhavesh Odedra \<<[email protected]>\>

- Dhara Solanki \<<[email protected]>\> (<http://www.initos.com>)

- [Trobz](https://trobz.com):
- Hoang Diep \<<[email protected]>\>
16 changes: 0 additions & 16 deletions web_m2x_options/readme/CONTRIBUTORS.rst

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
The migration of this module from 15.0 to 16.0 was financially supported by Camptocamp
The migration of this module from 15.0 to 16.0 was financially supported
by Camptocamp
11 changes: 11 additions & 0 deletions web_m2x_options/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
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 from many2one drop down. You can also
change default number of proposition appearing in the drop-down. Or
prevent the dialog box poping in case of validation error.

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.
10 changes: 0 additions & 10 deletions web_m2x_options/readme/DESCRIPTION.rst

This file was deleted.

Loading

0 comments on commit 0ed4118

Please sign in to comment.