summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-11-14 10:57:38 +0100
committerXavier Morel <xmo@openerp.com>2011-11-14 10:57:38 +0100
commit097ea702fa7ceebdb1abd01765a0c31ead640e0f (patch)
treec446bfcab7bdfcb04c426ccaaa626b32bfe59e7c /addons/web/static/src/js
parenta3dc1c851d46fefe661f31f8a8d78bd52545b19d (diff)
[ADD] 'id' to all advanced filters if not in fields_get, to serve as a 'get resource by id' in web client
also fix broken extended filters due to broken oldwidget lp bug: https://launchpad.net/bugs/885994 fixed bzr revid: xmo@openerp.com-20111114095738-9nfpr970235k15fv
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/search.js36
1 files changed, 26 insertions, 10 deletions
diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js
index 0ceab43f1fd..7ae3afc704b 100644
--- a/addons/web/static/src/js/search.js
+++ b/addons/web/static/src/js/search.js
@@ -969,6 +969,12 @@ openerp.web.search.ExtendedSearch = openerp.web.OldWidget.extend({
this.rpc("/web/searchview/fields_get",
{"model": this.model}, function(data) {
self.fields = data.fields;
+ if (!('id' in self.fields)) {
+ self.fields.id = {
+ string: 'ID',
+ type: 'id'
+ }
+ }
openerp.web.search.add_expand_listener(self.$element);
self.$element.find('.searchview_extended_add_group').click(function (e) {
self.add_group();
@@ -1153,7 +1159,12 @@ openerp.web.search.ExtendedSearchProposition = openerp.web.OldWidget.extend(/**
}
});
-openerp.web.search.ExtendedSearchProposition.Char = openerp.web.OldWidget.extend({
+openerp.web.search.ExtendedSearchProposition.Field = openerp.web.OldWidget.extend({
+ start: function () {
+ this.$element = $("#" + this.element_id);
+ }
+});
+openerp.web.search.ExtendedSearchProposition.Char = openerp.web.search.ExtendedSearchProposition.Field.extend({
template: 'SearchView.extended_search.proposition.char',
identifier_prefix: 'extended-search-proposition-char',
operators: [
@@ -1170,7 +1181,7 @@ openerp.web.search.ExtendedSearchProposition.Char = openerp.web.OldWidget.extend
return this.$element.val();
}
});
-openerp.web.search.ExtendedSearchProposition.DateTime = openerp.web.OldWidget.extend({
+openerp.web.search.ExtendedSearchProposition.DateTime = openerp.web.search.ExtendedSearchProposition.Field.extend({
template: 'SearchView.extended_search.proposition.empty',
identifier_prefix: 'extended-search-proposition-datetime',
operators: [
@@ -1185,12 +1196,12 @@ openerp.web.search.ExtendedSearchProposition.DateTime = openerp.web.OldWidget.ex
return this.datewidget.get_value();
},
start: function() {
- this.$element = $("#" + this.element_id);
+ this._super();
this.datewidget = new openerp.web.DateTimeWidget(this);
this.datewidget.prependTo(this.$element);
}
});
-openerp.web.search.ExtendedSearchProposition.Date = openerp.web.OldWidget.extend({
+openerp.web.search.ExtendedSearchProposition.Date = openerp.web.search.ExtendedSearchProposition.Field.extend({
template: 'SearchView.extended_search.proposition.empty',
identifier_prefix: 'extended-search-proposition-date',
operators: [
@@ -1205,12 +1216,12 @@ openerp.web.search.ExtendedSearchProposition.Date = openerp.web.OldWidget.extend
return this.datewidget.get_value();
},
start: function() {
- this.$element = $("#" + this.element_id);
+ this._super();
this.datewidget = new openerp.web.DateWidget(this);
this.datewidget.prependTo(this.$element);
}
});
-openerp.web.search.ExtendedSearchProposition.Integer = openerp.web.OldWidget.extend({
+openerp.web.search.ExtendedSearchProposition.Integer = openerp.web.search.ExtendedSearchProposition.Field.extend({
template: 'SearchView.extended_search.proposition.integer',
identifier_prefix: 'extended-search-proposition-integer',
operators: [
@@ -1229,7 +1240,10 @@ openerp.web.search.ExtendedSearchProposition.Integer = openerp.web.OldWidget.ext
}
}
});
-openerp.web.search.ExtendedSearchProposition.Float = openerp.web.OldWidget.extend({
+openerp.web.search.ExtendedSearchProposition.Id = openerp.web.search.ExtendedSearchProposition.Integer.extend({
+ operators: [{value: "=", text: "is"}]
+});
+openerp.web.search.ExtendedSearchProposition.Float = openerp.web.search.ExtendedSearchProposition.Field.extend({
template: 'SearchView.extended_search.proposition.float',
identifier_prefix: 'extended-search-proposition-float',
operators: [
@@ -1248,7 +1262,7 @@ openerp.web.search.ExtendedSearchProposition.Float = openerp.web.OldWidget.exten
}
}
});
-openerp.web.search.ExtendedSearchProposition.Selection = openerp.web.OldWidget.extend({
+openerp.web.search.ExtendedSearchProposition.Selection = openerp.web.search.ExtendedSearchProposition.Field.extend({
template: 'SearchView.extended_search.proposition.selection',
identifier_prefix: 'extended-search-proposition-selection',
operators: [
@@ -1262,7 +1276,7 @@ openerp.web.search.ExtendedSearchProposition.Selection = openerp.web.OldWidget.e
return this.$element.val();
}
});
-openerp.web.search.ExtendedSearchProposition.Boolean = openerp.web.OldWidget.extend({
+openerp.web.search.ExtendedSearchProposition.Boolean = openerp.web.search.ExtendedSearchProposition.Field.extend({
template: 'SearchView.extended_search.proposition.boolean',
identifier_prefix: 'extended-search-proposition-boolean',
operators: [
@@ -1286,7 +1300,9 @@ openerp.web.search.custom_filters = new openerp.web.Registry({
'integer': 'openerp.web.search.ExtendedSearchProposition.Integer',
'float': 'openerp.web.search.ExtendedSearchProposition.Float',
'boolean': 'openerp.web.search.ExtendedSearchProposition.Boolean',
- 'selection': 'openerp.web.search.ExtendedSearchProposition.Selection'
+ 'selection': 'openerp.web.search.ExtendedSearchProposition.Selection',
+
+ 'id': 'openerp.web.search.ExtendedSearchProposition.Id'
});
};