summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_controller.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-02-11 17:00:35 +0100
committerChristophe Simonis <chs@odoo.com>2019-02-11 17:00:35 +0100
commit8c29df10e02e6777840ffd7a318472de29f77dd1 (patch)
tree49c08eeab2620aa7e91e87256754763400c93376 /addons/web/static/src/js/views/basic/basic_controller.js
parent0e71f91fa1ea8df0111d034069dcb92e27c5f0a3 (diff)
parent93d736e905e0d3b110c36ee93af341021eba42c4 (diff)
[MERGE] forward port branch saas-12.1 up to 93d736e905e
Diffstat (limited to 'addons/web/static/src/js/views/basic/basic_controller.js')
-rw-r--r--addons/web/static/src/js/views/basic/basic_controller.js16
1 files changed, 11 insertions, 5 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