From f0e331e005d830d8b5aaa4cb5e2824d98bd75b2a Mon Sep 17 00:00:00 2001 From: Pierre Verkest Date: Thu, 6 Nov 2014 16:18:33 +0100 Subject: [PATCH] [FIX] correctly update many2many in listview (web client) Fixes the issue #1216 (follow the link for more information). The issue was caused by a hack in list view: the magical suffix __display is used in render_cell to determine if a many2many field should be updated. This commit simply makes sure that old many2many fields + __display keys are cleared. A better way would be to redesign/refactor the list view to avoid that hack in the first place. But this would be a much more complex task. --- addons/web/static/src/js/view_list.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index 52124d5f896..f9c857c957c 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -541,8 +541,9 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi self.records.remove(record); return; } - _(_.keys(values)).each(function(key){ - record.set(key, values[key], {silent: true}); + _.each(values, function (value, key) { + record.set(key + '__display', false, {silent: true}); + record.set(key, value, {silent: true}); }); record.trigger('change', record); });