[fix] some bugs related to combo box for filters management

bzr revid: nicolas.vanhoren@openerp.com-20110722154419-9g31mwfsuv67rjz3
This commit is contained in:
niv-openerp 2011-07-22 17:44:19 +02:00
parent 95ccd74114
commit 70ae6c0326
1 changed files with 15 additions and 9 deletions

View File

@ -140,6 +140,10 @@ openerp.base.SearchView = openerp.base.Controller.extend({
return widget.start();
}).value();
$.when.apply(null, widget_starts).then(function () {
self.ready.resolve();
});
// filters management
var self = this;
return this.rpc('/base/searchview/get_filters', {
@ -150,30 +154,28 @@ openerp.base.SearchView = openerp.base.Controller.extend({
filters.html(QWeb.render("SearchView.managed-filters", {filters: result}));
filters.change(self.on_filters_management);
});
var self = this;
$.when.apply(null, widget_starts).then(function () {
self.ready.resolve();
});
},
/**
* Handle event when the user make a selection in the filters management select box.
*/
on_filters_management: function(e) {
var select = this.$element.find(".oe_search-view-filters-management"),
val = select.val();
select.val("_filters");
var select = this.$element.find(".oe_search-view-filters-management");
var val = select.val();
if (val.slice(0,1) == "_") // useless action
if (val.slice(0,1) == "_") { // useless action
select.val("_filters");
return;
}
if (val.slice(0, "get:".length) == "get:") {
val = val.slice("get:".length);
val = parseInt(val);
var filter = this.managed_filters[val];
this.on_search([filter.domain], [filter.context], []);
} else if (val == "save_filter") {
select.val("_filters");
//TODO niv
} else { // manage_filters
select.val("_filters");
//TODO niv
}
},
@ -189,6 +191,10 @@ openerp.base.SearchView = openerp.base.Controller.extend({
* @param e jQuery event object coming from the "Search" button
*/
do_search: function (e) {
// reset filters management
var select = this.$element.find(".oe_search-view-filters-management");
select.val("_filters");
if (e && e.preventDefault) { e.preventDefault(); }
var domains = [],