diff --git a/addons/web/__manifest__.py b/addons/web/__manifest__.py index 0d990999077..266e0f6d13f 100644 --- a/addons/web/__manifest__.py +++ b/addons/web/__manifest__.py @@ -276,7 +276,6 @@ This module provides the core of the Odoo Web Client. 'web/static/src/legacy/js/widgets/week_days.js', 'web/static/src/legacy/js/widgets/signature.js', 'web/static/src/legacy/js/widgets/attach_document.js', - 'web/static/src/legacy/js/apps.js', 'web/static/src/legacy/js/env.js', 'web/static/src/legacy/js/model.js', 'web/static/src/legacy/js/owl_compatibility.js', diff --git a/addons/web/static/src/legacy/js/apps.js b/addons/web/static/src/legacy/js/apps.js deleted file mode 100644 index 0d4bff9508a..00000000000 --- a/addons/web/static/src/legacy/js/apps.js +++ /dev/null @@ -1,171 +0,0 @@ -odoo.define('web.Apps', function (require) { -"use strict"; - -var AbstractAction = require('web.AbstractAction'); -var config = require('web.config'); -var core = require('web.core'); -var framework = require('web.framework'); -var session = require('web.session'); - -var _t = core._t; - -var apps_client = null; - -var Apps = AbstractAction.extend({ - contentTemplate: 'EmptyComponent', - remote_action_tag: 'loempia.embed', - failback_action_id: 'base.open_module_tree', - - init: function(parent, action) { - this._super(parent, action); - var options = action.params || {}; - this.params = options; // NOTE forwarded to embedded client action - }, - - get_client: function() { - // return the client via a promise, resolved or rejected depending if - // the remote host is available or not. - var check_client_available = function(client) { - var i = new Image(); - var def = new Promise(function (resolve, reject) { - i.onerror = function() { - reject(client); - }; - i.onload = function() { - resolve(client); - }; - }); - var ts = new Date().getTime(); - i.src = _.str.sprintf('%s/web/static/src/img/sep-a.gif?%s', client.origin, ts); - return def; - }; - if (apps_client) { - return check_client_available(apps_client); - } else { - return this._rpc({model: 'ir.module.module', method: 'get_apps_server'}) - .then(function(u) { - var link = $(_.str.sprintf('', 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); - }); - } - }, - - destroy: function() { - $(window).off("message." + this.uniq); - if (this.$ifr) { - this.$ifr.remove(); - this.$ifr = null; - } - return this._super(); - }, - - _on_message: function($e) { - var self = this, client = this.client, e = $e.originalEvent; - - if (e.origin !== client.origin) { - return; - } - - var dispatcher = { - 'event': function(m) { self.trigger('message:' + m.event, m); }, - 'action': function(m) { - self.do_action(m.action).then(function(r) { - var w = self.$ifr[0].contentWindow; - w.postMessage({id: m.id, result: r}, client.origin); - }); - }, - 'rpc': function(m) { - 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 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); - }); - }, - }; - // console.log(e.data); - if (!_.isObject(e.data)) { return; } - if (dispatcher[e.data.type]) { - dispatcher[e.data.type](e.data); - } - }, - - start: function() { - var self = this; - return new Promise(function (resolve, reject) { - self.get_client().then(function (client) { - self.client = client; - - var qs = {db: client.dbname}; - if (config.isDebug()) { - qs.debug = odoo.debug; - } - var u = $.param.querystring(client.origin + "/apps/embed/client", qs); - var css = {width: '100%', height: '750px'}; - self.$ifr = $('