summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-05-19 19:00:41 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-05-19 19:00:41 +0200
commita15401a72202e30f41eba711cd31b2a334b6dbdc (patch)
tree01cb483ab063b6e78d353d8dcc493de0ac607629 /addons/base/static/src
parent0ce128b59ea3dff85100c306c60b50ec7d27b6bd (diff)
[IMP] added selection in custom filters.
bzr revid: nicolas.vanhoren@openerp.com-20110519170041-kgkio0hp6nt6u4bn
Diffstat (limited to 'addons/base/static/src')
-rw-r--r--addons/base/static/src/js/search.js33
-rw-r--r--addons/base/static/src/xml/base.xml9
2 files changed, 39 insertions, 3 deletions
diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js
index 8d22a068e39..4ebf1238dd3 100644
--- a/addons/base/static/src/js/search.js
+++ b/addons/base/static/src/js/search.js
@@ -830,6 +830,9 @@ openerp.base.search.ExtendedSearchProposition = openerp.base.BaseWidget.extend({
}
this.value = new (openerp.base.search.custom_filters.get_object(type))
(this);
+ if(this.value.set_field) {
+ this.value.set_field(field);
+ }
_.each(this.value.operators, function(operator) {
var option = jQuery('<option>', {value: operator.value})
.text(operator.text)
@@ -951,6 +954,31 @@ openerp.base.search.ExtendedSearchProposition.Float = openerp.base.BaseWidget.ex
return val2;
}
});
+openerp.base.search.ExtendedSearchProposition.Selection = openerp.base.BaseWidget.extend({
+ template: 'SearchView.extended_search.proposition.selection',
+ identifier_prefix: 'extended-search-proposition-selection',
+ operators: [
+ {value: "=", text: "is"},
+ {value: "!=", text: "is not"}
+ ],
+ set_field: function(field) {
+ this.field = field;
+ },
+ get_value: function() {
+ return this.$element.val();
+ }
+});
+openerp.base.search.ExtendedSearchProposition.Boolean = openerp.base.BaseWidget.extend({
+ template: 'SearchView.extended_search.proposition.boolean',
+ identifier_prefix: 'extended-search-proposition-boolean',
+ operators: [
+ {value: "=", text: "is true"},
+ {value: "!=", text: "is false"}
+ ],
+ get_value: function() {
+ return true;
+ }
+});
openerp.base.search.custom_filters = new openerp.base.Registry({
'char': 'openerp.base.search.ExtendedSearchProposition.Char',
@@ -963,9 +991,8 @@ openerp.base.search.custom_filters = new openerp.base.Registry({
'date': 'openerp.base.search.ExtendedSearchProposition.Date',
'integer': 'openerp.base.search.ExtendedSearchProposition.Integer',
'float': 'openerp.base.search.ExtendedSearchProposition.Float',
-
- 'selection': 'openerp.base.search.ExtendedSearchProposition.Char',
- 'boolean': 'openerp.base.search.ExtendedSearchProposition.Char',
+ 'boolean': 'openerp.base.search.ExtendedSearchProposition.Boolean',
+ 'selection': 'openerp.base.search.ExtendedSearchProposition.Selection'
});
};
diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml
index b99e7adf10d..b9b3068257b 100644
--- a/addons/base/static/src/xml/base.xml
+++ b/addons/base/static/src/xml/base.xml
@@ -587,6 +587,15 @@
<t t-name="SearchView.extended_search.proposition.float">
<input type="number" t-att-id="element_id" class="field_float" step="0.01"/>
</t>
+<t t-name="SearchView.extended_search.proposition.boolean">
+</t>
+<t t-name="SearchView.extended_search.proposition.selection">
+ <select t-att-id="element_id">
+ <t t-foreach="field.selection" t-as="element">
+ <option t-att-value="element[0]"><t t-esc="element[1]"/></option>
+ </t>
+ </select>
+</t>
<t t-name="ViewManager.sidebar">
<div t-att-id="element_id" class="sidebar-main-div closed-sidebar">