From 8630e75082abe6e5dd9aa9e0cda696cfd653b827 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 24 Nov 2011 11:13:52 +0100 Subject: [PATCH 1/2] [IMP] use switch/case for sequence of equalities on literal strings bzr revid: xmo@openerp.com-20111124101352-iavrge8h8pj0lwo9 --- addons/web/static/src/js/search.js | 45 +++++++++++++++++------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 9fd5e6bb379..250960a342f 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -203,12 +203,24 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search 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") { + switch(val) { + case 'add_to_dashboard': + this.on_add_to_dashboard(); + break; + case 'manage_filters': + select.val("_filters"); + this.do_action({ + res_model: 'ir.filters', + views: [[false, 'list'], [false, 'form']], + type: 'ir.actions.act_window', + context: {"search_default_user_id": this.session.uid, + "search_default_model_id": this.dataset.model}, + target: "current", + limit : 80, + auto_search : true + }); + break; + case 'save_filter': select.val("_filters"); var data = this.build_search_data(); var context = new openerp.web.CompoundContext(); @@ -242,20 +254,13 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search }} ] }); - } else if (val == "add_to_dashboard") { - this.on_add_to_dashboard(); - } else { // manage_filters - select.val("_filters"); - this.do_action({ - res_model: 'ir.filters', - views: [[false, 'list'], [false, 'form']], - type: 'ir.actions.act_window', - context: {"search_default_user_id": this.session.uid, - "search_default_model_id": this.dataset.model}, - target: "current", - limit : 80, - auto_search : true - }); + break; + } + if (val.slice(0, 4) == "get:") { + val = val.slice(4); + val = parseInt(val, 10); + var filter = this.managed_filters[val]; + this.on_search([filter.domain], [filter.context], []); } }, on_add_to_dashboard: function() { From c97e5f6ead4a19ad110a774387b957c013386490 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 24 Nov 2011 11:21:30 +0100 Subject: [PATCH 2/2] [IMP] use optgroups in filters management thingie bzr revid: xmo@openerp.com-20111124102130-w3aro8z4w124b2ng --- addons/web/static/src/js/search.js | 9 ++------- addons/web/static/src/xml/base.xml | 21 +++++++++++---------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 250960a342f..e0700231e60 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -198,17 +198,11 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search var self = this; var select = this.$element.find(".oe_search-view-filters-management"); var val = select.val(); - - if (val.slice(0,1) == "_") { // useless action - select.val("_filters"); - return; - } switch(val) { case 'add_to_dashboard': this.on_add_to_dashboard(); break; case 'manage_filters': - select.val("_filters"); this.do_action({ res_model: 'ir.filters', views: [[false, 'list'], [false, 'form']], @@ -221,7 +215,6 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search }); break; case 'save_filter': - select.val("_filters"); var data = this.build_search_data(); var context = new openerp.web.CompoundContext(); _.each(data.contexts, function(x) { @@ -261,6 +254,8 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search val = parseInt(val, 10); var filter = this.managed_filters[val]; this.on_search([filter.domain], [filter.context], []); + } else { + select.val(''); } }, on_add_to_dashboard: function() { diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 1fe4d028db4..c420350413c 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1127,16 +1127,17 @@ - - - - - - - - - - + + + + + + + + + +