From 3e3a244e1afc4d74920a6302a14fa2590e8b6648 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Fri, 21 Jun 2019 12:54:05 +0000 Subject: [FIX] web: BasicModel: don't update default one2many records Let's assume a one2many field in a form view with a default value with commands 4 (link to). Before this rev., when saving the record, the BasicModel generated a command 4 and a command 1 (update) for each record, with the values of the record (directly coming from DB). This can cause an issue when the related record can't be edited (e.g. a posted journal entry in accounting). closes odoo/odoo#33797 Signed-off-by: Quentin De Paoli (qdp) --- addons/web/static/src/js/views/basic/basic_model.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/views/basic') 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 c87a6aca455..0cddc887f18 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -3175,7 +3175,7 @@ var BasicModel = AbstractModel.extend({ commands[fieldName].push(x2ManyCommands.link_to(list.res_ids[i])); continue; } - changes = this._generateChanges(relRecord, options); + changes = this._generateChanges(relRecord, _.extend({}, options, {changesOnly: true})); if (!this.isNew(relRecord.id)) { // the subrecord already exists in db commands[fieldName].push(x2ManyCommands.link_to(relRecord.res_id)); -- cgit v1.2.3