summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/form_widgets.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2016-08-20 16:57:36 +0200
committerChristophe Simonis <chs@odoo.com>2016-08-20 16:57:36 +0200
commit3a2147d95c8005ab7c1dbe4d94315e404ea5e5f9 (patch)
tree98b5b79e5f866a64849f349119e0855f6da5d7ff /addons/web/static/src/js/views/form_widgets.js
parent99215a02c61ca8c470931955225e5db1cd402d43 (diff)
parentbc1a0a32ca80aaadd52e66115fe9c9ad4b26c2e0 (diff)
[MERGE] forward port branch saas-10 up to bc1a0a3
Diffstat (limited to 'addons/web/static/src/js/views/form_widgets.js')
-rw-r--r--addons/web/static/src/js/views/form_widgets.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js
index 1108b8047f3..3bc97996962 100644
--- a/addons/web/static/src/js/views/form_widgets.js
+++ b/addons/web/static/src/js/views/form_widgets.js
@@ -445,6 +445,7 @@ var FieldCharDomain = common.AbstractField.extend(common.ReinitializeFieldMixin,
this.$('.o_debug_input').val(this.get('value'));
}
} else {
+ this.$('.o_form_input').val('');
this.$('.o_count').text(_t('No selected record'));
var $arrow = this.$('button span').detach();
this.$('button').text(_t('Select records ')).append($("<span/>").addClass('fa fa-arrow-right'));
@@ -969,7 +970,7 @@ var FieldRadio = common.AbstractField.extend(common.ReinitializeFieldMixin, {
if(this.get('effective_readonly')) {
this.$el.html(this.get('value')? this.get('value')[1] : "");
} else {
- this.$("input").filter(function() {return this.value == self.get_value();}).prop("checked", true);
+ this.$("input").prop("checked", false).filter(function () {return this.value == self.get_value();}).prop("checked", true);
}
}
});
@@ -1404,13 +1405,17 @@ var FieldStatus = common.AbstractField.extend({
return fields;
});
},
- on_click_stage: function (ev) {
+ on_click_stage: _.debounce(function (ev) {
var self = this;
var $li = $(ev.currentTarget);
+ var ul = $li.closest('.oe_form_field_status');
if (this.view.is_disabled) {
return;
}
var val;
+ if (ul.attr('disabled')) {
+ return;
+ }
if (this.field.type === "many2one") {
val = parseInt($li.data("id"), 10);
} else {
@@ -1426,13 +1431,16 @@ var FieldStatus = common.AbstractField.extend({
this.view.recursive_save().done(function() {
var change = {};
change[self.name] = val;
+ ul.attr('disabled', true);
self.view.dataset.write(self.view.datarecord.id, change).done(function() {
self.view.reload();
+ }).always(function() {
+ ul.removeAttr('disabled');
});
});
}
}
- },
+ }, 300),
});
var FieldMonetary = FieldFloat.extend({