From 4883c9a5985e60a755d59500ff88687f5ce2af65 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Fri, 10 Jul 2015 15:39:06 +0200 Subject: [PATCH 1/5] [ADD] support 'open' on many2many_tags [ADD] support 'no_open_edit' on many2one [FIX] typos --- web_m2x_options/README.rst | 10 ++++++++-- web_m2x_options/__openerp__.py | 3 +++ web_m2x_options/static/src/js/form.js | 24 ++++++++++++++++++++++++ web_m2x_options/static/src/xml/base.xml | 13 +++++++++++++ 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 web_m2x_options/static/src/xml/base.xml diff --git a/web_m2x_options/README.rst b/web_m2x_options/README.rst index be6e7603..abdd8803 100644 --- a/web_m2x_options/README.rst +++ b/web_m2x_options/README.rst @@ -61,7 +61,13 @@ New options 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 ir.config_parameter options --------------------------- @@ -110,6 +116,6 @@ Your XML form view definition could contain:: Note ---- -Double check that you have no inherited view that remote ``options`` you set on a field ! -If nothing work, add a debugger in the first ligne of ``get_search_result method`` and enable debug mode in OpenERP. 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 ``get_search_result method`` and enable debug mode in OpenERP. When you write something in a many2one field, javascript debugger should pause. If not verify your installation. diff --git a/web_m2x_options/__openerp__.py b/web_m2x_options/__openerp__.py index 37b7dbf4..071166fd 100644 --- a/web_m2x_options/__openerp__.py +++ b/web_m2x_options/__openerp__.py @@ -7,6 +7,9 @@ 'base', 'web', ], + 'qweb': [ + 'static/src/xml/base.xml', + ], 'data': ['views/view.xml'], "author": "0k.io,Odoo Community Association (OCA)", "installable": True, diff --git a/web_m2x_options/static/src/js/form.js b/web_m2x_options/static/src/js/form.js index bc4d3beb..7342794e 100644 --- a/web_m2x_options/static/src/js/form.js +++ b/web_m2x_options/static/src/js/form.js @@ -336,6 +336,30 @@ openerp.web_m2x_options = function (instance) { return values; }) }, + + render_value: function() + { + var self = this; + return jQuery.when(this._super.apply(this, arguments)) + .then(function() + { + if(self.options.open) + { + self.$el.find('.oe_tag') + .css('cursor', 'pointer') + .click(function(e) + { + var id = parseInt(jQuery(this).attr('data-id')); + self.do_action({ + type: 'ir.actions.act_window', + res_model: self.field.relation, + views: [[false, 'form']], + res_id: id, + }); + }); + } + }); + }, }); }; diff --git a/web_m2x_options/static/src/xml/base.xml b/web_m2x_options/static/src/xml/base.xml new file mode 100644 index 00000000..9fbf425e --- /dev/null +++ b/web_m2x_options/static/src/xml/base.xml @@ -0,0 +1,13 @@ + + + + + jQuery(this).attr('t-if', '!(widget.options.no_open || widget.options.no_open_edit)'); + + + + + jQuery(this).attr('t-att-data-id', 'el[0]'); + + + From 78452bd05b04e213b0b73b041b2be962137e695e Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 15 Sep 2015 15:54:16 +0200 Subject: [PATCH 2/5] [IMP] adapt README.rst to OCA template --- web_m2x_options/README.rst | 76 +++++++++++++++++++++++++++----------- 1 file changed, 55 insertions(+), 21 deletions(-) diff --git a/web_m2x_options/README.rst b/web_m2x_options/README.rst index abdd8803..5e0faeba 100644 --- a/web_m2x_options/README.rst +++ b/web_m2x_options/README.rst @@ -1,35 +1,35 @@ +.. 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. -**New: support many2manytags widget !** - -**New: support global option management with ir.config_parameter !** - 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 have no permission rights to create the related object. +if the current has no permission rights to create the related object. +Usage +===== -Requirements ------------- +.. 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 -Was tested on openerp 8.0, trunk, saas-5 branch. New way to import js file. (thanks to tfossoul) +For further information, please visit: +* https://www.odoo.com/forum/help-1 -New options ------------ +in the field's options dict +--------------------------- ``create`` *boolean* (Default: depends if user have create rights) @@ -47,20 +47,20 @@ New options Number of displayed record in drop-down panel -``search_more`` *boolean* +``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 @@ -113,9 +113,43 @@ Your XML form view definition could contain:: ... -Note ----- +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 OpenERP. When you write something in a many2one field, javascript debugger should pause. If not verify your installation. +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. + +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 +`here `_. + +Credits +======= + +Contributors +------------ + +* David Coninckx +* Emanuel Cino +* Holger Brunn +* Nicolas JEUDY +* Yannick Vaucher + +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. From 2d7f3db13908b7c412e7336e5f73c4fd177bf706 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 15 Sep 2015 16:35:27 +0200 Subject: [PATCH 3/5] [ADD] @pedrobaeza's proposals to roadmap --- web_m2x_options/README.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/web_m2x_options/README.rst b/web_m2x_options/README.rst index 5e0faeba..e4301ffc 100644 --- a/web_m2x_options/README.rst +++ b/web_m2x_options/README.rst @@ -119,6 +119,13 @@ 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 =========== From f8a9b6397996aee94d57a7ef24af3997f8d7c8fc Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Mon, 28 Sep 2015 14:54:21 +0200 Subject: [PATCH 4/5] [FIX] missing word in readme --- web_m2x_options/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_m2x_options/README.rst b/web_m2x_options/README.rst index e4301ffc..de0adaac 100644 --- a/web_m2x_options/README.rst +++ b/web_m2x_options/README.rst @@ -15,7 +15,7 @@ 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 has no permission rights to create the related object. +if the current user has no permission rights to create the related object. Usage ===== From dd9ba513dfe1ec72ebb48d4526e0269c9c64b114 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Mon, 28 Sep 2015 14:56:02 +0200 Subject: [PATCH 5/5] [FIX] this week's pylint errors --- web_m2x_options/__init__.py | 1 + web_m2x_options/__openerp__.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/web_m2x_options/__init__.py b/web_m2x_options/__init__.py index e69de29b..57d631c3 100644 --- a/web_m2x_options/__init__.py +++ b/web_m2x_options/__init__.py @@ -0,0 +1 @@ +# coding: utf-8 diff --git a/web_m2x_options/__openerp__.py b/web_m2x_options/__openerp__.py index 071166fd..14521037 100644 --- a/web_m2x_options/__openerp__.py +++ b/web_m2x_options/__openerp__.py @@ -10,8 +10,8 @@ 'qweb': [ 'static/src/xml/base.xml', ], + 'license': 'AGPL-3', 'data': ['views/view.xml'], "author": "0k.io,Odoo Community Association (OCA)", "installable": True, - "active": False, }