summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-02-07 13:14:02 +0100
committerChristophe Simonis <chs@odoo.com>2019-02-07 13:14:02 +0100
commit87924cb5ad46567036e6b5e50609963dba340b80 (patch)
tree47b360b094bceba4d6c2e9ffd65fabc2cd3709d6 /addons/web/static/src/js
parentaa9fb85102badaad02d6eaf49a709340a2021dfa (diff)
parenta46138cb019a3617704afb018132396ac2339823 (diff)
[MERGE] forward port branch 12.0 up to a46138cb019
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/views/basic/basic_controller.js16
-rw-r--r--addons/web/static/src/js/views/basic/basic_model.js2
2 files changed, 12 insertions, 6 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_controller.js b/addons/web/static/src/js/views/basic/basic_controller.js
index f26a9cbe737..07646c83273 100644
--- a/addons/web/static/src/js/views/basic/basic_controller.js
+++ b/addons/web/static/src/js/views/basic/basic_controller.js
@@ -188,12 +188,18 @@ var BasicController = AbstractController.extend(FieldManagerMixin, {
// mutex-protected as commitChanges function of x2m has to be aware of
// all final changes made to a row.
var self = this;
- this.savingDef = this.mutex.getUnlockedDef().then(function () {
- return self.renderer.commitChanges(recordID || self.handle).then(function () {
+ var savingDef = $.Deferred();
+ this.savingDef = savingDef;
+
+ return this.mutex.getUnlockedDef()
+ .then(function () {
+ return self.renderer.commitChanges(recordID || self.handle);
+ })
+ .then(function () {
return self.mutex.exec(self._saveRecord.bind(self, recordID, options));
- });
- });
- return this.savingDef;
+ })
+ .then(savingDef.resolve.bind(savingDef))
+ .fail(savingDef.resolve.bind(savingDef));
},
/**
* @override
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 646e883fb7e..e45bdc42121 100644
--- a/addons/web/static/src/js/views/basic/basic_model.js
+++ b/addons/web/static/src/js/views/basic/basic_model.js
@@ -2480,7 +2480,7 @@ var BasicModel = AbstractModel.extend({
if (field.type === 'many2one' && !record.fieldsInfo[record.viewType][name].__no_fetch) {
var localId = (record._changes && record._changes[name]) || record.data[name];
var relatedRecord = self.localData[localId];
- if (!relatedRecord) {
+ if (!relatedRecord || relatedRecord.data.display_name) {
return;
}
toBeFetched.push({