[FIX] web: prevent double-click on statusbar
When double-clicking on the statusbar widget, two calls to write are performed. This can cause unwanted behavior, and when the `write` method takes a lot of time to process, it's not possible to prevent it server-side. Courtesy of @gurneyalex and @aab-odoo Closes #13134 opw-686025 FORWARD-PORT UP TO SAAS-6!
This commit is contained in:
parent
71594f5958
commit
c2fe9fe0e6
|
@ -6145,10 +6145,14 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
||||||
return fields;
|
return fields;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
on_click_stage: function (ev) {
|
on_click_stage: _.debounce(function (ev) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var $li = $(ev.currentTarget);
|
var $li = $(ev.currentTarget);
|
||||||
|
var ul = $li.closest('.oe_form_field_status');
|
||||||
var val;
|
var val;
|
||||||
|
if (ul.attr('disabled')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (this.field.type == "many2one") {
|
if (this.field.type == "many2one") {
|
||||||
val = parseInt($li.data("id"), 10);
|
val = parseInt($li.data("id"), 10);
|
||||||
}
|
}
|
||||||
|
@ -6165,13 +6169,16 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
||||||
this.view.recursive_save().done(function() {
|
this.view.recursive_save().done(function() {
|
||||||
var change = {};
|
var change = {};
|
||||||
change[self.name] = val;
|
change[self.name] = val;
|
||||||
|
ul.attr('disabled', true);
|
||||||
self.view.dataset.write(self.view.datarecord.id, change).done(function() {
|
self.view.dataset.write(self.view.datarecord.id, change).done(function() {
|
||||||
self.view.reload();
|
self.view.reload();
|
||||||
|
}).always(function() {
|
||||||
|
ul.removeAttr('disabled');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
}, 300),
|
||||||
});
|
});
|
||||||
|
|
||||||
instance.web.form.FieldMonetary = instance.web.form.FieldFloat.extend({
|
instance.web.form.FieldMonetary = instance.web.form.FieldFloat.extend({
|
||||||
|
|
Loading…
Reference in New Issue