[FIX] fix editing one2many in some cases (web)
authorGéry Debongnie <ged@odoo.com>
Mon, 1 Dec 2014 09:29:00 +0000 (10:29 +0100)
committerGéry Debongnie <ged@odoo.com>
Mon, 1 Dec 2014 09:29:00 +0000 (10:29 +0100)
See issue #3964 for more detail.  Main problem was caused by commit
f0e331e005d8.  It set the key name+'__display' to false when reloading
a record for all field types, but it was only concerned with many2many.

addons/web/static/src/js/view_list.js

index f9c857c..3a3e8d5 100644 (file)
@@ -528,6 +528,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
     },
     reload_record: function (record) {
         var self = this;
+        var fields = this.fields_view.fields;
         // Use of search_read instead of read to check if we can still read the record (security rules)
         return this.dataset.read_ids(
             [record.get('id')],
@@ -542,7 +543,8 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
                 return;
             }
             _.each(values, function (value, key) {
-                record.set(key + '__display', false, {silent: true});
+                if (fields[key] && fields[key].type === 'many2many')
+                    record.set(key + '__display', false, {silent: true});
                 record.set(key, value, {silent: true});            
             });
             record.trigger('change', record);