diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-02-11 17:00:35 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-02-11 17:00:35 +0100 |
| commit | 8c29df10e02e6777840ffd7a318472de29f77dd1 (patch) | |
| tree | 49c08eeab2620aa7e91e87256754763400c93376 /addons/web/static/src/js/views/basic | |
| parent | 0e71f91fa1ea8df0111d034069dcb92e27c5f0a3 (diff) | |
| parent | 93d736e905e0d3b110c36ee93af341021eba42c4 (diff) | |
[MERGE] forward port branch saas-12.1 up to 93d736e905e
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 1bd0782bd36..3e20035734d 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({ |
