diff --git a/addons/web/static/src/js/views/form_relational_widgets.js b/addons/web/static/src/js/views/form_relational_widgets.js index 61ffc70631a..4ceded791be 100644 --- a/addons/web/static/src/js/views/form_relational_widgets.js +++ b/addons/web/static/src/js/views/form_relational_widgets.js @@ -1217,7 +1217,7 @@ var One2ManyListView = X2ManyListView.extend({ this.dataset.x2m.internal_dataset_changed = false; var self = this; - return this.save_edition().done(function () { + return this.save_edition(true).done(function () { if (self._dataset_changed) { self.dataset.trigger('dataset_changed'); } diff --git a/addons/web/static/src/js/views/list_view_editable.js b/addons/web/static/src/js/views/list_view_editable.js index 507d933508b..5786f9365ee 100644 --- a/addons/web/static/src/js/views/list_view_editable.js +++ b/addons/web/static/src/js/views/list_view_editable.js @@ -439,7 +439,7 @@ ListView.include(/** @lends instance.web.ListView# */{ /** * @return {jQuery.Deferred} */ - save_edition: function () { + save_edition: function (cancel_onfail) { var self = this; return self.saving_mutex.exec(function() { if (!self.editor.is_editing()) { @@ -474,7 +474,9 @@ ListView.include(/** @lends instance.web.ListView# */{ return {created: created, record: record}; }); }, function() { - return self.cancel_edition(); + if (cancel_onfail) { + return self.cancel_edition(); + } }); }); });