From b3be8c4d6b5b7f8d2f66faa3b3bb4dd90c4b4b5e Mon Sep 17 00:00:00 2001 From: "Bhumi Thakkar (Open ERP)" Date: Tue, 19 Jun 2012 18:41:55 +0530 Subject: [PATCH 1/3] [FIX] if value is blank then return false. bzr revid: bth@tinyerp.com-20120619131155-839l1zzyrfnfettn --- addons/web/static/src/js/search.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 13530ae3f89..4996e47b671 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -1322,7 +1322,8 @@ openerp.web.search.ExtendedSearchProposition.Char = openerp.web.search.ExtendedS {value: "<=", text: _lt("less or equal than")} ], get_value: function() { - return this.$element.val(); + if(!this.$element.val()) return false; + else return this.$element.val(); } }); openerp.web.search.ExtendedSearchProposition.DateTime = openerp.web.search.ExtendedSearchProposition.Field.extend({ From e2a8445c484e217a2f80b25853a48e9d3112c2d1 Mon Sep 17 00:00:00 2001 From: "Bhumi Thakkar (Open ERP)" Date: Tue, 19 Jun 2012 18:50:24 +0530 Subject: [PATCH 2/3] [IMP] Code Optimization. bzr revid: bth@tinyerp.com-20120619132024-aactz01q29vtcscv --- addons/web/static/src/js/search.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 4996e47b671..7b600169fb8 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -1322,8 +1322,7 @@ openerp.web.search.ExtendedSearchProposition.Char = openerp.web.search.ExtendedS {value: "<=", text: _lt("less or equal than")} ], get_value: function() { - if(!this.$element.val()) return false; - else return this.$element.val(); + return this.$element.val() || false; } }); openerp.web.search.ExtendedSearchProposition.DateTime = openerp.web.search.ExtendedSearchProposition.Field.extend({ From be07ba003fba60e9b57c770833f9c2526e337eab Mon Sep 17 00:00:00 2001 From: "Bhumi Thakkar (Open ERP)" Date: Fri, 29 Jun 2012 16:42:36 +0530 Subject: [PATCH 3/3] [FIX] Implement is set and is not set for char,inetger,float,date,datetime widget. bzr revid: bth@tinyerp.com-20120629111236-27j1mj5krha0rkkm --- addons/web/static/src/js/search.js | 35 +++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 7b600169fb8..789d2a102d7 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -1228,12 +1228,21 @@ openerp.web.search.ExtendedSearchProposition = openerp.web.OldWidget.extend(/** this.value = null; }, start: function () { + var self = this; this.$element = $("#" + this.element_id); this.select_field(this.fields.length > 0 ? this.fields[0] : null); var _this = this; this.$element.find(".searchview_extended_prop_field").change(function() { _this.changed(); }); + this.$element.find(".searchview_extended_prop_op").change(function() { + var text = $(".searchview_extended_prop_op option:selected").html() + if(text == "is not set" || text == "is set"){ + self.$element.find('.searchview_extended_prop_value').hide(); + }else{ + self.$element.find('.searchview_extended_prop_value').show(); + } + }); this.$element.find('.searchview_extended_delete_prop').click(function () { _this.stop(); }); @@ -1300,6 +1309,10 @@ openerp.web.search.ExtendedSearchProposition = openerp.web.OldWidget.extend(/** var field = this.attrs.selected.name; var op = this.$element.find('.searchview_extended_prop_op').val(); var value = this.value.get_value(); + var text = $(".searchview_extended_prop_op option:selected").html() + if(text == "is not set" || text == "is set"){ + value = false; + } return [field, op, value]; } }); @@ -1319,10 +1332,12 @@ openerp.web.search.ExtendedSearchProposition.Char = openerp.web.search.ExtendedS {value: ">", text: _lt("greater than")}, {value: "<", text: _lt("less than")}, {value: ">=", text: _lt("greater or equal than")}, - {value: "<=", text: _lt("less or equal than")} + {value: "<=", text: _lt("less or equal than")}, + {value: "!=", text: _lt("is set")}, + {value: "=", text: _lt("is not set")} ], get_value: function() { - return this.$element.val() || false; + return this.$element.val(); } }); openerp.web.search.ExtendedSearchProposition.DateTime = openerp.web.search.ExtendedSearchProposition.Field.extend({ @@ -1333,7 +1348,9 @@ openerp.web.search.ExtendedSearchProposition.DateTime = openerp.web.search.Exten {value: ">", text: _lt("greater than")}, {value: "<", text: _lt("less than")}, {value: ">=", text: _lt("greater or equal than")}, - {value: "<=", text: _lt("less or equal than")} + {value: "<=", text: _lt("less or equal than")}, + {value: "!=", text: _lt("is set")}, + {value: "=", text: _lt("is not set")} ], get_value: function() { return this.datewidget.get_value(); @@ -1352,7 +1369,9 @@ openerp.web.search.ExtendedSearchProposition.Date = openerp.web.search.ExtendedS {value: ">", text: _lt("greater than")}, {value: "<", text: _lt("less than")}, {value: ">=", text: _lt("greater or equal than")}, - {value: "<=", text: _lt("less or equal than")} + {value: "<=", text: _lt("less or equal than")}, + {value: "!=", text: _lt("is set")}, + {value: "=", text: _lt("is not set")} ], get_value: function() { return this.datewidget.get_value(); @@ -1371,7 +1390,9 @@ openerp.web.search.ExtendedSearchProposition.Integer = openerp.web.search.Extend {value: ">", text: _lt("greater than")}, {value: "<", text: _lt("less than")}, {value: ">=", text: _lt("greater or equal than")}, - {value: "<=", text: _lt("less or equal than")} + {value: "<=", text: _lt("less or equal than")}, + {value: "!=", text: _lt("is set")}, + {value: "=", text: _lt("is not set")} ], get_value: function() { try { @@ -1392,7 +1413,9 @@ openerp.web.search.ExtendedSearchProposition.Float = openerp.web.search.Extended {value: ">", text: _lt("greater than")}, {value: "<", text: _lt("less than")}, {value: ">=", text: _lt("greater or equal than")}, - {value: "<=", text: _lt("less or equal than")} + {value: "<=", text: _lt("less or equal than")}, + {value: "!=", text: _lt("is set")}, + {value: "=", text: _lt("is not set")} ], get_value: function() { try {