diff options
Diffstat (limited to 'addons/web/static/src/js/views/basic/basic_model.js')
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_model.js | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js index c51f512b966..a8538b70d98 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -3148,14 +3148,15 @@ var BasicModel = AbstractModel.extend({ options = options || {}; var viewType = options.viewType || record.viewType; var changes; - if ('changesOnly' in options && !options.changesOnly) { + const changesOnly = 'changesOnly' in options ? !!options.changesOnly : true; + if (!changesOnly) { changes = _.extend({}, record.data, record._changes); } else { changes = _.extend({}, record._changes); } var withReadonly = options.withReadonly || false; var commands = this._generateX2ManyCommands(record, { - changesOnly: 'changesOnly' in options ? options.changesOnly : true, + changesOnly: changesOnly, withReadonly: withReadonly, }); for (var fieldName in record.fields) { @@ -3172,7 +3173,7 @@ var BasicModel = AbstractModel.extend({ var type = record.fields[fieldName].type; var value; if (type === 'one2many' || type === 'many2many') { - if (!options.changesOnly || (commands[fieldName] && commands[fieldName].length)) { // replace localId by commands + if (!changesOnly || (commands[fieldName] && commands[fieldName].length)) { // replace localId by commands changes[fieldName] = commands[fieldName]; } else { // no command -> no change for that field delete changes[fieldName]; |
