Block parallel ajax while saving
This commit is contained in:
parent
a41f04a479
commit
27c23dccac
2 changed files with 12 additions and 0 deletions
|
|
@ -114,6 +114,13 @@ frappe.ui.form.save = function(frm, action, callback, btn) {
|
|||
// btn: btn
|
||||
// }
|
||||
$(opts.btn).prop("disabled", true);
|
||||
|
||||
if(frappe.ui.form.is_saving) {
|
||||
msgprint(__("Already saving. Please wait a few moments."));
|
||||
throw "saving";
|
||||
}
|
||||
frappe.ui.form.is_saving = true;
|
||||
|
||||
return frappe.call({
|
||||
freeze: true,
|
||||
method: opts.method,
|
||||
|
|
@ -121,6 +128,9 @@ frappe.ui.form.save = function(frm, action, callback, btn) {
|
|||
callback: function(r) {
|
||||
$(opts.btn).prop("disabled", false);
|
||||
opts.callback && opts.callback(r);
|
||||
},
|
||||
always: function() {
|
||||
frappe.ui.form.is_saving = false;
|
||||
}
|
||||
})
|
||||
};
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ frappe.call = function(opts) {
|
|||
args: args,
|
||||
success: opts.callback,
|
||||
error: opts.error,
|
||||
always: opts.always,
|
||||
btn: opts.btn,
|
||||
freeze: opts.freeze,
|
||||
show_spinner: !opts.no_spinner,
|
||||
|
|
@ -124,6 +125,7 @@ frappe.request.call = function(opts) {
|
|||
data = JSON.parse(data.responseText);
|
||||
}
|
||||
frappe.request.cleanup(opts, data);
|
||||
if(opts.always) opts.always(data);
|
||||
})
|
||||
.done(function(data, textStatus, xhr) {
|
||||
var status_code_handler = statusCode[xhr.statusCode().status];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue