From 5d17749ff47c02294d5ff2ae56bbcef9d082562e Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Fri, 21 Oct 2016 17:10:57 +0200 Subject: [PATCH] [FIX] web: repair length field in view list Underscore method _.each expects an array like object when a "length" property is present. This was an issue with a record having a numeric "length" field set to a non-negative value. When changing a line the change would not appear on blur. This issue was fixed with 0e664c9e9 but introduced back with f0e331e00. opw-691070 --- addons/web/static/src/js/view_list.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index a16dddcbf91..ae1a7fa328f 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -554,11 +554,12 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi self.records.remove(record); return; } - _.each(values, function (value, key) { + // _.each is broken if a field "length" is present + for (var key in values) { if (fields[key] && fields[key].type === 'many2many') record.set(key + '__display', false, {silent: true}); - record.set(key, value, {silent: true}); - }); + record.set(key, values[key], {silent: true}); + } record.trigger('change', record); }); },