From 0339a506f82daa41ccee7b918cb257ba9e8668bd Mon Sep 17 00:00:00 2001 From: Ivan Yelizariev Date: Tue, 3 Aug 2021 08:06:48 +0000 Subject: [PATCH] [REM] base,web: delete menu Apps Store, Updates Those menus are supposed to be integrations with apps.odoo.com, but it doens't work and not maintained. Existing menus that open apps store links should be enough: * Apps >> Apps >> Theme Store --> https://apps.odoo.com/apps/themes * Apps >> Apps >> Third-Part Apps --> https://apps.odoo.com/apps/modules --- close #72902 close #74602 closes odoo/odoo#106379 Related: odoo/enterprise#34324 Signed-off-by: Aaron Bohy (aab) --- addons/web/__manifest__.py | 1 - addons/web/static/src/legacy/js/apps.js | 171 --------------------- odoo/addons/base/models/ir_module.py | 104 ------------- odoo/addons/base/views/ir_module_views.xml | 15 -- 4 files changed, 291 deletions(-) delete mode 100644 addons/web/static/src/legacy/js/apps.js 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 = $('