[FIX] web: display Warning if "Save & Close"
When a warning is triggered by an onchange, clicking on "Save & Close" will cause the warning to be closed as soon as it is shown. This fix prevents the saving and closing if a warning message is detected. opw-653503
This commit is contained in:
@@ -868,11 +868,15 @@ var FormViewDialog = ViewDialog.extend({
|
||||
|
||||
if(!readonly) {
|
||||
options.buttons.splice(0, 0, {text: _t("Save") + ((multi_select)? _t(" & Close") : ""), classes: "btn-primary o_formdialog_save", click: function() { // o_formdialog_save class for web_tests!
|
||||
$.when(self.view_form.save()).done(function() {
|
||||
self.view_form.reload_mutex.exec(function() {
|
||||
self.trigger('record_saved');
|
||||
self.close();
|
||||
});
|
||||
self.view_form.onchanges_mutex.def.then(function() {
|
||||
if (!self.view_form.warning_displayed) {
|
||||
$.when(self.view_form.save()).done(function() {
|
||||
self.view_form.reload_mutex.exec(function() {
|
||||
self.trigger('record_saved');
|
||||
self.close();
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -589,11 +589,16 @@ var FormView = View.extend(common.FieldManagerMixin, {
|
||||
}
|
||||
// FIXME XXX a list of warnings?
|
||||
if (!_.isEmpty(result.warning)) {
|
||||
new Dialog(this, {
|
||||
this.warning_displayed = true;
|
||||
var dialog = new Dialog(this, {
|
||||
size: 'medium',
|
||||
title:result.warning.title,
|
||||
$content: QWeb.render("CrashManager.warning", result.warning)
|
||||
}).open();
|
||||
});
|
||||
dialog.open();
|
||||
dialog.on('closed', this, function () {
|
||||
this.warning_displayed = false;
|
||||
});
|
||||
}
|
||||
|
||||
return $.Deferred().resolve();
|
||||
|
||||
Reference in New Issue
Block a user