summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/apps.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/apps.js')
-rw-r--r--addons/web/static/src/js/apps.js44
1 files changed, 23 insertions, 21 deletions
diff --git a/addons/web/static/src/js/apps.js b/addons/web/static/src/js/apps.js
index 8c5135f3b7b..a1f85d6ae31 100644
--- a/addons/web/static/src/js/apps.js
+++ b/addons/web/static/src/js/apps.js
@@ -3,7 +3,6 @@ odoo.define('web.Apps', function (require) {
var core = require('web.core');
var framework = require('web.framework');
-var Model = require('web.DataModel');
var session = require('web.session');
var Widget = require('web.Widget');
@@ -41,21 +40,22 @@ var Apps = Widget.extend({
if (apps_client) {
return check_client_available(apps_client);
} else {
- var Mod = new Model('ir.module.module');
- return Mod.call('get_apps_server').then(function(u) {
- var link = $(_.str.sprintf('<a href="%s"></a>', u))[0];
- var host = _.str.sprintf('%s//%s', link.protocol, link.host);
- var dbname = link.pathname;
- if (dbname[0] === '/') {
- dbname = dbname.substr(1);
- }
- var client = {
- origin: host,
- dbname: dbname
- };
- apps_client = client;
- return check_client_available(client);
- });
+ return this.rpc('ir.module.module', 'get_apps_server')
+ .exec()
+ .then(function(u) {
+ var link = $(_.str.sprintf('<a href="%s"></a>', u))[0];
+ var host = _.str.sprintf('%s//%s', link.protocol, link.host);
+ var dbname = link.pathname;
+ if (dbname[0] === '/') {
+ dbname = dbname.substr(1);
+ }
+ var client = {
+ origin: host,
+ dbname: dbname
+ };
+ apps_client = client;
+ return check_client_available(client);
+ });
}
},
@@ -90,11 +90,13 @@ var Apps = Widget.extend({
});
},
'Model': function(m) {
- var M = new Model(m.model);
- M[m.method].apply(M, m.args).then(function(r) {
- var w = self.$ifr[0].contentWindow;
- w.postMessage({id: m.id, result: r}, client.origin);
- });
+ return this.rpc(m.model, m.method)
+ .args(m.args)
+ .exec()
+ .then(function(r) {
+ var w = self.$ifr[0].contentWindow;
+ w.postMessage({id: m.id, result: r}, client.origin);
+ });
},
};
// console.log(e.data);