summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2016-08-20 18:08:19 +0200
committerChristophe Simonis <chs@odoo.com>2016-08-20 18:08:19 +0200
commit235ed4b2c1099720a6d5cfc5ada920f19fcef315 (patch)
tree2ddc3ae85462fe3cc6e70f9598958797695d12ff /addons/web/static/src/js
parentc3734ec5b622085a36e94bee36f92daabbae3e34 (diff)
parent9ad5f26b3fb98cd14527de80d19bf6554a6981e2 (diff)
[MERGE] forward port branch saas-12 up to 9ad5f26
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/framework/data.js2
-rw-r--r--addons/web/static/src/js/views/form_widgets.js14
-rw-r--r--addons/web/static/src/js/views/search_filters.js2
3 files changed, 13 insertions, 5 deletions
diff --git a/addons/web/static/src/js/framework/data.js b/addons/web/static/src/js/framework/data.js
index 92c85de3c16..78bc5f39bfd 100644
--- a/addons/web/static/src/js/framework/data.js
+++ b/addons/web/static/src/js/framework/data.js
@@ -688,7 +688,7 @@ var DataSetSearch = DataSet.extend({
.limit(options.limit || false);
q = q.order_by.apply(q, this._sort);
- return q.all().done(function (records) {
+ return this.orderer.add(q.all()).done(function (records) {
// FIXME: not sure about that one, *could* have discarded count
q.count().done(function (count) { self._length = count; });
self.ids = _(records).pluck('id');
diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js
index 194f9bc5443..a72702a2d08 100644
--- a/addons/web/static/src/js/views/form_widgets.js
+++ b/addons/web/static/src/js/views/form_widgets.js
@@ -441,6 +441,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'));
@@ -965,7 +966,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);
}
}
});
@@ -1400,13 +1401,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 {
@@ -1422,13 +1427,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({
diff --git a/addons/web/static/src/js/views/search_filters.js b/addons/web/static/src/js/views/search_filters.js
index bd3edb2168d..8db6288788d 100644
--- a/addons/web/static/src/js/views/search_filters.js
+++ b/addons/web/static/src/js/views/search_filters.js
@@ -222,7 +222,7 @@ ExtendedSearchProposition.DateTime = ExtendedSearchProposition.Field.extend({
},
toString: function () {
var str = formats.format_value(this.get_value(), { type:this.attributes['type'] });
- if (this.datewidget_2.get_value()) {
+ if (this.datewidget_2 && this.datewidget_2.get_value()) {
str += ' and ' + formats.format_value(this.datewidget_2.get_value(), { type:this.attributes['type'] });
}
return str;