summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_model.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-11-10 14:15:02 +0100
committerChristophe Simonis <chs@odoo.com>2017-11-10 14:15:02 +0100
commitebb6d1e7402e7360f84730a400983d513e0d8607 (patch)
treea135d3b130f4dadbf721b8bbbc31c14c8d0b93f2 /addons/web/static/src/js/views/basic/basic_model.js
parentd86da5de53ab8ffc089b7d86a920e536bd65dff9 (diff)
parent350973ff36619bec129a3dace312ec0ae561c55e (diff)
[MERGE] forward port branch 11.0 up to 350973ff366
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.js8
1 files changed, 5 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 4412d29c455..4028bff322a 100644
--- a/addons/web/static/src/js/views/basic/basic_model.js
+++ b/addons/web/static/src/js/views/basic/basic_model.js
@@ -896,6 +896,9 @@ var BasicModel = AbstractModel.extend({
return def.resolve(changedFields);
}
+ def.then(function () {
+ record._isDirty = false;
+ });
// in the case of a write, only perform the RPC if there are changes to save
if (method === 'create' || changedFields.length) {
var args = method === 'write' ? [[record.data.id], changes] : [changes];
@@ -917,7 +920,6 @@ var BasicModel = AbstractModel.extend({
// Erase changes as they have been applied
record._changes = {};
- record._isDirty = false;
// Update the data directly or reload them
if (shouldReload) {
@@ -947,8 +949,8 @@ var BasicModel = AbstractModel.extend({
*/
addFieldsInfo: function (recordID, viewInfo) {
var record = this.localData[recordID];
- record.fields = _.defaults(record.fields, viewInfo.fields);
- record.fieldsInfo = _.defaults(record.fieldsInfo, viewInfo.fieldsInfo);
+ record.fields = _.extend({}, record.fields, viewInfo.fields);
+ record.fieldsInfo = _.extend({}, record.fieldsInfo, viewInfo.fieldsInfo);
},
/**
* Manually sets a resource as dirty. This is used to notify that a field