diff options
Diffstat (limited to 'addons/web/static/src/js/apps.js')
| -rw-r--r-- | addons/web/static/src/js/apps.js | 20 |
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(); |
