[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
This commit is contained in:
parent
a3dc1c851d
commit
097ea702fa
|
@ -969,6 +969,12 @@ openerp.web.search.ExtendedSearch = openerp.web.OldWidget.extend({
|
||||||
this.rpc("/web/searchview/fields_get",
|
this.rpc("/web/searchview/fields_get",
|
||||||
{"model": this.model}, function(data) {
|
{"model": this.model}, function(data) {
|
||||||
self.fields = data.fields;
|
self.fields = data.fields;
|
||||||
|
if (!('id' in self.fields)) {
|
||||||
|
self.fields.id = {
|
||||||
|
string: 'ID',
|
||||||
|
type: 'id'
|
||||||
|
}
|
||||||
|
}
|
||||||
openerp.web.search.add_expand_listener(self.$element);
|
openerp.web.search.add_expand_listener(self.$element);
|
||||||
self.$element.find('.searchview_extended_add_group').click(function (e) {
|
self.$element.find('.searchview_extended_add_group').click(function (e) {
|
||||||
self.add_group();
|
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',
|
template: 'SearchView.extended_search.proposition.char',
|
||||||
identifier_prefix: 'extended-search-proposition-char',
|
identifier_prefix: 'extended-search-proposition-char',
|
||||||
operators: [
|
operators: [
|
||||||
|
@ -1170,7 +1181,7 @@ openerp.web.search.ExtendedSearchProposition.Char = openerp.web.OldWidget.extend
|
||||||
return this.$element.val();
|
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',
|
template: 'SearchView.extended_search.proposition.empty',
|
||||||
identifier_prefix: 'extended-search-proposition-datetime',
|
identifier_prefix: 'extended-search-proposition-datetime',
|
||||||
operators: [
|
operators: [
|
||||||
|
@ -1185,12 +1196,12 @@ openerp.web.search.ExtendedSearchProposition.DateTime = openerp.web.OldWidget.ex
|
||||||
return this.datewidget.get_value();
|
return this.datewidget.get_value();
|
||||||
},
|
},
|
||||||
start: function() {
|
start: function() {
|
||||||
this.$element = $("#" + this.element_id);
|
this._super();
|
||||||
this.datewidget = new openerp.web.DateTimeWidget(this);
|
this.datewidget = new openerp.web.DateTimeWidget(this);
|
||||||
this.datewidget.prependTo(this.$element);
|
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',
|
template: 'SearchView.extended_search.proposition.empty',
|
||||||
identifier_prefix: 'extended-search-proposition-date',
|
identifier_prefix: 'extended-search-proposition-date',
|
||||||
operators: [
|
operators: [
|
||||||
|
@ -1205,12 +1216,12 @@ openerp.web.search.ExtendedSearchProposition.Date = openerp.web.OldWidget.extend
|
||||||
return this.datewidget.get_value();
|
return this.datewidget.get_value();
|
||||||
},
|
},
|
||||||
start: function() {
|
start: function() {
|
||||||
this.$element = $("#" + this.element_id);
|
this._super();
|
||||||
this.datewidget = new openerp.web.DateWidget(this);
|
this.datewidget = new openerp.web.DateWidget(this);
|
||||||
this.datewidget.prependTo(this.$element);
|
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',
|
template: 'SearchView.extended_search.proposition.integer',
|
||||||
identifier_prefix: 'extended-search-proposition-integer',
|
identifier_prefix: 'extended-search-proposition-integer',
|
||||||
operators: [
|
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',
|
template: 'SearchView.extended_search.proposition.float',
|
||||||
identifier_prefix: 'extended-search-proposition-float',
|
identifier_prefix: 'extended-search-proposition-float',
|
||||||
operators: [
|
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',
|
template: 'SearchView.extended_search.proposition.selection',
|
||||||
identifier_prefix: 'extended-search-proposition-selection',
|
identifier_prefix: 'extended-search-proposition-selection',
|
||||||
operators: [
|
operators: [
|
||||||
|
@ -1262,7 +1276,7 @@ openerp.web.search.ExtendedSearchProposition.Selection = openerp.web.OldWidget.e
|
||||||
return this.$element.val();
|
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',
|
template: 'SearchView.extended_search.proposition.boolean',
|
||||||
identifier_prefix: 'extended-search-proposition-boolean',
|
identifier_prefix: 'extended-search-proposition-boolean',
|
||||||
operators: [
|
operators: [
|
||||||
|
@ -1286,7 +1300,9 @@ openerp.web.search.custom_filters = new openerp.web.Registry({
|
||||||
'integer': 'openerp.web.search.ExtendedSearchProposition.Integer',
|
'integer': 'openerp.web.search.ExtendedSearchProposition.Integer',
|
||||||
'float': 'openerp.web.search.ExtendedSearchProposition.Float',
|
'float': 'openerp.web.search.ExtendedSearchProposition.Float',
|
||||||
'boolean': 'openerp.web.search.ExtendedSearchProposition.Boolean',
|
'boolean': 'openerp.web.search.ExtendedSearchProposition.Boolean',
|
||||||
'selection': 'openerp.web.search.ExtendedSearchProposition.Selection'
|
'selection': 'openerp.web.search.ExtendedSearchProposition.Selection',
|
||||||
|
|
||||||
|
'id': 'openerp.web.search.ExtendedSearchProposition.Id'
|
||||||
});
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue