diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-02-07 13:14:02 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-02-07 13:14:02 +0100 |
| commit | 87924cb5ad46567036e6b5e50609963dba340b80 (patch) | |
| tree | 47b360b094bceba4d6c2e9ffd65fabc2cd3709d6 /addons/web/static/src/js/views/basic | |
| parent | aa9fb85102badaad02d6eaf49a709340a2021dfa (diff) | |
| parent | a46138cb019a3617704afb018132396ac2339823 (diff) | |
[MERGE] forward port branch 12.0 up to a46138cb019
Diffstat (limited to 'addons/web/static/src/js/views/basic')
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_controller.js | 16 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_model.js | 2 |
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({ |
