From 709f2506ff40d799aada58df74dd78522d965868 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 23 Nov 2012 12:39:32 +0100 Subject: [REM] server-side eval_domain_and_context bzr revid: xmo@openerp.com-20121123113932-siz0u2vp2u7z6wk2 --- addons/web/static/src/js/search.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/search.js') diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 0f25b2484c3..e0a95df37ce 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -1614,7 +1614,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 || [] -- cgit v1.2.3 From 720f3faf9386b7509c57459e8e5830bba9269c18 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 26 Nov 2012 10:38:18 +0100 Subject: [IMP] stop using custom /web/searchview endpoints in search view bzr revid: xmo@openerp.com-20121126093818-omxaj3qljolgq8qj --- addons/web/static/src/js/search.js | 47 ++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 25 deletions(-) (limited to 'addons/web/static/src/js/search.js') diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index e0a95df37ce..b7514e81c88 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 @@ -1708,7 +1705,7 @@ 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); -- cgit v1.2.3 From c7772fdd82105ddf60cbec2517753bf927ce19ed Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 29 Nov 2012 11:38:41 +0100 Subject: [FIX] server-sourced fields_get has no indirection to the model's fields previous searchview-controller wrapper method did. Remove leftover indirection deref bzr revid: xmo@openerp.com-20121129103841-6qcl4sctekqmrt2q --- addons/web/static/src/js/search.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/search.js') diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 29fa71b5a97..5b59c7d6912 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -1708,7 +1708,7 @@ instance.web.search.Advanced = instance.web.search.Input.extend({ 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(); }); -- cgit v1.2.3