From 1da79b872e7b90b67a097ed50b974c879f26bea2 Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Wed, 14 Sep 2016 14:33:50 +0200 Subject: [PATCH 1/2] [FIX] web: keep m2m value in list view Currently, when rendering a list view cell with a many2many we would empty the list of ids, and fill it again once a name_get is resolved. But in some instance, the code could use the data when it has been emptied out. For example, if we set the tax_id field (inside the order_line list view inside the sale.order form view) as requred, if we modify the order line and save directly (without clicking outside of the list view) we can get an incorrect error saying that the "Order Line" is not valid. It has been reproduced when saving with CTRL + SHIFT + S on google chrome and firefox, and there have been reports that for some configuration it also happen when clicking on the "Save" button. This commit change the behaviour so the value is kept whilst the name_get is ongoing, and just use a default "false" value for the name during this interval. closes #13478 opw-668067 --- addons/web/static/src/js/view_list.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index c460cc598f0..9fe5426f2cc 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -1125,8 +1125,8 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web. _(names).pluck(1).join(', ')); record.set(column.id, ids); }); - // temp empty value - record.set(column.id, false); + // temporary empty display name + record.set(column.id + '__display', false); } } return column.format(record.toForm().data, { From 9874892b97c6fd93c94465a7d0df6e434c05d909 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 13 Sep 2016 15:04:58 +0200 Subject: [PATCH 2/2] [FIX] module#get_module_path() does not check the manifest's presence (closes #13467) --- openerp/modules/module.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/modules/module.py b/openerp/modules/module.py index 8a72fd6f954..e9e643001f0 100644 --- a/openerp/modules/module.py +++ b/openerp/modules/module.py @@ -121,7 +121,7 @@ def get_module_path(module, downloaded=False, display_warning=True): """ initialize_sys_path() for adp in ad_paths: - if os.path.exists(opj(adp, module)) or os.path.exists(opj(adp, '%s.zip' % module)): + if os.path.exists(opj(adp, module, MANIFEST)) or os.path.exists(opj(adp, '%s.zip' % module)): return opj(adp, module) if downloaded: