Browse Source
[MIG] web_m2x_options: Migration to 11.0
[MIG] web_m2x_options: Migration to 11.0
web_m2x_options: Fix usage for non-admins web_m2x_options: Reduce rpc calls web_m2x_options: Update manifest and readmepull/952/head
ernesto
7 years ago
committed by
Pedro M. Baeza
12 changed files with 403 additions and 522 deletions
-
173web_m2x_options/README.rst
-
2web_m2x_options/__init__.py
-
17web_m2x_options/__manifest__.py
-
1web_m2x_options/models/__init__.py
-
12web_m2x_options/models/ir_config_parameter.py
-
11web_m2x_options/readme/CONTRIBUTORS.rst
-
10web_m2x_options/readme/DESCRIPTION.rst
-
6web_m2x_options/readme/ROADMAP.rst
-
88web_m2x_options/readme/USAGE.rst
-
522web_m2x_options/static/src/js/form.js
-
2web_m2x_options/static/src/xml/base.xml
-
1web_m2x_options/views/view.xml
@ -1,172 +1 @@ |
|||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
|||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html |
|||
:alt: License: AGPL-3 |
|||
|
|||
================================== |
|||
Add new options for many2one field |
|||
================================== |
|||
|
|||
Description |
|||
----------- |
|||
|
|||
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. |
|||
|
|||
Usage |
|||
===== |
|||
|
|||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas |
|||
:alt: Try me on Runbot |
|||
:target: https://runbot.odoo-community.org/runbot/162/8.0 |
|||
|
|||
For further information, please visit: |
|||
|
|||
* https://www.odoo.com/forum/help-1 |
|||
|
|||
in the field's options dict |
|||
--------------------------- |
|||
|
|||
``create`` *boolean* (Default: depends if user have create rights) |
|||
|
|||
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 |
|||
|
|||
``m2o_dialog`` *boolean* (Default: depends if user have create rights) |
|||
|
|||
Whether to display the many2one dialog in case of validation error. |
|||
|
|||
``limit`` *int* (Default: openerp default value is ``7``) |
|||
|
|||
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. |
|||
|
|||
``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 |
|||
|
|||
``open`` *boolean* (Default: ``False``) |
|||
|
|||
Makes many2many_tags 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) |
|||
|
|||
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.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. |
|||
|
|||
``web_m2x_options.limit`` *int* (Default: openerp default value is ``7``) |
|||
|
|||
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. |
|||
|
|||
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 |
|||
|
|||
|
|||
Example |
|||
------- |
|||
|
|||
Your XML form view definition could contain:: |
|||
|
|||
... |
|||
<field name="partner_id" options="{'limit': 10, 'create': false, 'create_edit': false, 'search_more':true 'field_color':'state', 'colors':{'active':'green'}}"/> |
|||
... |
|||
|
|||
Known issues |
|||
============ |
|||
|
|||
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 ``get_search_result method`` and enable debug mode in Odoo. When you write something in a many2one field, javascript debugger should pause. If not verify your installation. |
|||
|
|||
Roadmap |
|||
======= |
|||
|
|||
- 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 smashing it by providing a detailed and welcomed feedback |
|||
`here <https://github.com/OCA/web/issues/new?body=module:%20web_m2x_options%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. |
|||
|
|||
Credits |
|||
======= |
|||
|
|||
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> |
|||
* Jairo Llopis <jairo.llopis@tecnativa.com> |
|||
* David Vidal <david.vidal@tecnativa.com> |
|||
|
|||
Maintainer |
|||
---------- |
|||
|
|||
.. image:: https://odoo-community.org/logo.png |
|||
:alt: Odoo Community Association |
|||
:target: https://odoo-community.org |
|||
|
|||
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. |
|||
|
|||
To contribute to this module, please visit http://odoo-community.org. |
|||
**This file is going to be generated by oca-gen-addon-readme.** |
@ -1 +1 @@ |
|||
# coding: utf-8 |
|||
from . import models |
@ -1,18 +1,23 @@ |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
{ |
|||
"name": 'web_m2x_options', |
|||
"version": "10.0.1.1.0", |
|||
"version": "11.0.1.0.0", |
|||
'category': 'Web', |
|||
"author": "ACSONE SA/NV, " |
|||
"0k.io, " |
|||
"Tecnativa, " |
|||
"Odoo Community Association (OCA)", |
|||
'website': 'https://github.com/OCA/web', |
|||
'license': 'AGPL-3', |
|||
"depends": [ |
|||
'base', |
|||
'web', |
|||
], |
|||
'data': [ |
|||
'views/view.xml' |
|||
], |
|||
'qweb': [ |
|||
'static/src/xml/base.xml', |
|||
], |
|||
'license': 'AGPL-3', |
|||
'data': ['views/view.xml'], |
|||
"author": "ACSONE SA/NV, 0k.io, Tecnativa, " |
|||
"Odoo Community Association (OCA)", |
|||
'installable': True, |
|||
} |
@ -0,0 +1 @@ |
|||
from . import ir_config_parameter |
@ -0,0 +1,12 @@ |
|||
from odoo import api, models |
|||
|
|||
|
|||
class IrConfigParameter(models.Model): |
|||
_inherit = 'ir.config_parameter' |
|||
|
|||
@api.model |
|||
def get_web_m2x_options(self): |
|||
opts = ['web_m2x_options.create', 'web_m2x_options.create_edit', |
|||
'web_m2x_options.limit', 'web_m2x_options.search_more', |
|||
'web_m2x_options.m2o_dialog'] |
|||
return self.sudo().search_read([['key', 'in', opts]], ["key", "value"]) |
@ -0,0 +1,11 @@ |
|||
* 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> |
@ -0,0 +1,10 @@ |
|||
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. |
@ -0,0 +1,6 @@ |
|||
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. |
@ -0,0 +1,88 @@ |
|||
in the field's options dict |
|||
--------------------------- |
|||
|
|||
``create`` *boolean* (Default: depends if user have create rights) |
|||
|
|||
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 |
|||
|
|||
``m2o_dialog`` *boolean* (Default: depends if user have create rights) |
|||
|
|||
Whether to display the many2one dialog in case of validation error. |
|||
|
|||
``limit`` *int* (Default: openerp default value is ``7``) |
|||
|
|||
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. |
|||
|
|||
``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 |
|||
|
|||
``open`` *boolean* (Default: ``False``) |
|||
|
|||
Makes many2many_tags 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) |
|||
|
|||
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.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. |
|||
|
|||
``web_m2x_options.limit`` *int* (Default: openerp default value is ``7``) |
|||
|
|||
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. |
|||
|
|||
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 |
|||
|
|||
|
|||
Example |
|||
------- |
|||
|
|||
Your XML form view definition could contain:: |
|||
|
|||
... |
|||
<field name="partner_id" options="{'limit': 10, 'create': false, 'create_edit': false, 'search_more':true 'field_color':'state', 'colors':{'active':'green'}}"/> |
|||
... |
Write
Preview
Loading…
Cancel
Save
Reference in new issue