summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/field_manager_mixin.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/views/field_manager_mixin.js')
-rw-r--r--addons/web/static/src/js/views/field_manager_mixin.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/addons/web/static/src/js/views/field_manager_mixin.js b/addons/web/static/src/js/views/field_manager_mixin.js
index bc61e92a89a..ab441b4f75a 100644
--- a/addons/web/static/src/js/views/field_manager_mixin.js
+++ b/addons/web/static/src/js/views/field_manager_mixin.js
@@ -52,6 +52,8 @@ var FieldManagerMixin = {
if (event.data.force_save) {
return self.model.save(dataPointID).then(function () {
return self._confirmSave(dataPointID);
+ }).fail(function () {
+ return self._rejectSave(dataPointID);
});
} else if (options.notifyChange !== false) {
return self._confirmChange(dataPointID, result, event);
@@ -84,6 +86,19 @@ var FieldManagerMixin = {
_confirmSave: function (id) {
return $.when();
},
+ /**
+ * This method will be called whenever a save has been triggered by a change
+ * and has failed. For example, when a statusbar button is clicked in a
+ * readonly form view.
+ *
+ * @abstract
+ * @private
+ * @param {string} id The basicModel ID for the saved record
+ * @returns {Deferred}
+ */
+ _rejectSave: function (id) {
+ return $.when();
+ },
//--------------------------------------------------------------------------
// Handlers