summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/search.js
diff options
context:
space:
mode:
authortsabi <csaba.toth@i3rendszerhaz.hu>2012-11-29 12:41:32 +0100
committertsabi <csaba.toth@i3rendszerhaz.hu>2012-11-29 12:41:32 +0100
commit76ca47d4fd0bd178fd7dfd2ea5b534d4e878a6f5 (patch)
tree32339ef0c6869f21bb757f8ab6bce7faf8028c6b /addons/web/static/src/js/search.js
parente2435d4f004a20636aef8a8ee2cc03c8cfc3e78c (diff)
parentc7772fdd82105ddf60cbec2517753bf927ce19ed (diff)
[MERGE] trunk
bzr revid: csaba.toth@i3rendszerhaz.hu-20121129114132-gfe3sn1p5t0mzofm
Diffstat (limited to 'addons/web/static/src/js/search.js')
-rw-r--r--addons/web/static/src/js/search.js51
1 files changed, 24 insertions, 27 deletions
diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js
index 88d45793173..5b59c7d6912 100644
--- a/addons/web/static/src/js/search.js
+++ b/addons/web/static/src/js/search.js
@@ -341,17 +341,19 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
if (this.headless) {
this.ready.resolve();
} else {
- var load_view = this.rpc("/web/searchview/load", {
+ var load_view = this.rpc("/web/view/load", {
model: this.model,
view_id: this.view_id,
- context: this.dataset.get_context() });
-
- $.when(load_view)
- .then(function(r) {
- self.search_view_loaded(r)
- }, function () {
- self.ready.reject.apply(null, arguments);
- });
+ view_type: 'search',
+ context: instance.web.pyeval.eval(
+ 'context', this.dataset.get_context())
+ });
+
+ $.when(load_view).then(function (r) {
+ return self.search_view_loaded(r)
+ }).fail(function () {
+ self.ready.reject.apply(null, arguments);
+ });
}
instance.web.bus.on('click', this, function(ev) {
@@ -615,16 +617,16 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
search_view_loaded: function(data) {
var self = this;
- this.fields_view = data.fields_view;
- if (data.fields_view.type !== 'search' ||
- data.fields_view.arch.tag !== 'search') {
+ this.fields_view = data;
+ if (data.type !== 'search' ||
+ data.arch.tag !== 'search') {
throw new Error(_.str.sprintf(
"Got non-search view after asking for a search view: type %s, arch root %s",
- data.fields_view.type, data.fields_view.arch.tag));
+ data.type, data.arch.tag));
}
this.make_widgets(
- data.fields_view['arch'].children,
- data.fields_view.fields);
+ data['arch'].children,
+ data.fields);
this.add_common_inputs();
@@ -632,6 +634,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
var drawer_started = $.when.apply(
null, _(this.select_for_drawer()).invoke(
'appendTo', this.$('.oe_searchview_drawer')));
+
// load defaults
var defaults_fetched = $.when.apply(null, _(this.inputs).invoke(
@@ -1506,16 +1509,10 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
this.$el.on('click', 'h4', function () {
self.$el.toggleClass('oe_opened');
});
- // FIXME: local eval of domain and context to get rid of special endpoint
- return this.rpc('/web/searchview/get_filters', {
- model: this.view.model
- })
+ return this.model.call('get_filters', [this.view.model])
.then(this.proxy('set_filters'))
- .then(function () {
- self.is_ready.resolve(null);
- }, function () {
- self.is_ready.reject();
- });
+ .done(function () { self.is_ready.resolve(); })
+ .fail(function () { self.is_ready.reject.apply(self.is_ready, arguments); });
},
/**
* Special implementation delaying defaults until CustomFilters is loaded
@@ -1614,7 +1611,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
var set_as_default = this.$('#oe_searchview_custom_default').prop('checked');
var search = this.view.build_search_data();
- this.rpc('/web/session/eval_domain_and_context', {
+ instance.web.pyeval.eval_domains_and_contexts({
domains: search.domains,
contexts: search.contexts,
group_by_seq: search.groupbys || []
@@ -1708,10 +1705,10 @@ instance.web.search.Advanced = instance.web.search.Input.extend({
});
return $.when(
this._super(),
- this.rpc("/web/searchview/fields_get", {model: this.view.model}).done(function(data) {
+ new instance.web.Model(this.view.model).call('fields_get').done(function(data) {
self.fields = _.extend({
id: { string: 'ID', type: 'id' }
- }, data.fields);
+ }, data);
})).done(function () {
self.append_proposition();
});