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.js20
1 files changed, 12 insertions, 8 deletions
diff --git a/addons/web/static/src/js/apps.js b/addons/web/static/src/js/apps.js
index fcf21852d2c..fa513372269 100644
--- a/addons/web/static/src/js/apps.js
+++ b/addons/web/static/src/js/apps.js
@@ -59,7 +59,7 @@ var Apps = Widget.extend({
},
destroy: function() {
- $(window).off("message.apps");
+ $(window).off("message." + this.uniq);
if (this.$ifr) {
this.$ifr.remove();
this.$ifr = null;
@@ -83,13 +83,13 @@ var Apps = Widget.extend({
});
},
'rpc': function(m) {
- self.session.rpc.apply(self.session, m.args).then(function(r) {
+ return self._rpc({route: m.args[0], params: m.args[1]}).then(function(r) {
var w = self.$ifr[0].contentWindow;
w.postMessage({id: m.id, result: r}, client.origin);
});
},
'Model': function(m) {
- return this._rpc({model: m.model, method: m.method, args: m.args})
+ return self._rpc({model: m.model, method: m.args[0], args: m.args[1]})
.then(function(r) {
var w = self.$ifr[0].contentWindow;
w.postMessage({id: m.id, result: r}, client.origin);
@@ -114,10 +114,11 @@ var Apps = Widget.extend({
qs.debug = session.debug;
}
var u = $.param.querystring(client.origin + "/apps/embed/client", qs);
- var css = {width: '100%', height: '400px'};
+ var css = {width: '100%', height: '750px'};
self.$ifr = $('<iframe>').attr('src', u);
- $(window).on("message.apps", self.proxy('_on_message'));
+ self.uniq = _.uniqueId('apps');
+ $(window).on("message." + self.uniq, self.proxy('_on_message'));
self.on('message:ready', self, function(m) {
var w = this.$ifr[0].contentWindow;
@@ -125,8 +126,8 @@ var Apps = Widget.extend({
type: 'ir.actions.client',
tag: this.remote_action_tag,
params: _.extend({}, this.params, {
- db: this.session.db,
- origin: this.session.origin,
+ db: session.db,
+ origin: session.origin,
})
};
w.postMessage({type:'action', action: act}, client.origin);
@@ -145,7 +146,10 @@ var Apps = Widget.extend({
def.resolve();
}, function() {
self.do_warn(_t('Odoo Apps will be available soon'), _t('Showing locally available modules'), true);
- return session.rpc('/web/action/load', {action_id: self.failback_action_id}).then(function(action) {
+ return self._rpc({
+ route: '/web/action/load',
+ params: {action_id: self.failback_action_id},
+ }).then(function(action) {
return self.do_action(action);
}).always(function () {
def.reject();