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' }); };