summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/services
diff options
context:
space:
mode:
authorAlexandre Kühn <aku@odoo.com>2018-02-12 10:08:39 +0100
committerAlexandre Kühn <aku@odoo.com>2018-02-12 16:09:38 +0100
commit066eaaeafad845a7b616a535e8827a5b3ae0164a (patch)
tree6fb69b6dd636b801080cfd7596c97df22c67f599 /addons/web/static/src/js/services
parent0de5c1f076d7e7d0e5361e08c810c727bd41d9e0 (diff)
[FIX] mail,web: JS mail and services tracebacks
Fix over this commit: https://github.com/odoo/odoo/commit/02ec09cb1c3e2d7bc7968f40c18f2208d7f3f498 In mobile, when discuss is installed, there is a traceback. This is a consequence on an issue with JS services, where some of them are not registered in the service provider. For instance, the webclient (the service provider) was instantiated before chat_manager (a service), so it was not aware of this service. To solve this issue, service providers now listen on newly registered services. Also improving deployment of JS services by not relying on topological sort.
Diffstat (limited to 'addons/web/static/src/js/services')
-rw-r--r--addons/web/static/src/js/services/ajax_service.js3
-rw-r--r--addons/web/static/src/js/services/core.js1
-rw-r--r--addons/web/static/src/js/services/local_storage_service.js3
-rw-r--r--addons/web/static/src/js/services/report_service.js3
4 files changed, 10 insertions, 0 deletions
diff --git a/addons/web/static/src/js/services/ajax_service.js b/addons/web/static/src/js/services/ajax_service.js
index 480549347d4..3446f651a59 100644
--- a/addons/web/static/src/js/services/ajax_service.js
+++ b/addons/web/static/src/js/services/ajax_service.js
@@ -2,6 +2,7 @@ odoo.define('web.AjaxService', function (require) {
"use strict";
var AbstractService = require('web.AbstractService');
+var core = require('web.core');
var session = require('web.session');
var AjaxService = AbstractService.extend({
@@ -21,6 +22,8 @@ var AjaxService = AbstractService.extend({
},
});
+core.serviceRegistry.add('ajax', AjaxService);
+
return AjaxService;
});
diff --git a/addons/web/static/src/js/services/core.js b/addons/web/static/src/js/services/core.js
index 73071a2a65d..522d6b07302 100644
--- a/addons/web/static/src/js/services/core.js
+++ b/addons/web/static/src/js/services/core.js
@@ -41,6 +41,7 @@ return {
crash_registry: new Registry(),
search_filters_registry: new Registry(),
search_widgets_registry: new Registry(),
+ serviceRegistry: new Registry(),
/**
* @type {String}
*/
diff --git a/addons/web/static/src/js/services/local_storage_service.js b/addons/web/static/src/js/services/local_storage_service.js
index a4527026238..7a8c803a0f9 100644
--- a/addons/web/static/src/js/services/local_storage_service.js
+++ b/addons/web/static/src/js/services/local_storage_service.js
@@ -2,6 +2,7 @@ odoo.define('web.LocalStorageService', function (require) {
'use strict';
var AbstractService = require('web.AbstractService');
+var core = require('web.core');
var localStorage = require('web.local_storage');
var LocalStorageService = AbstractService.extend({
@@ -20,6 +21,8 @@ var LocalStorageService = AbstractService.extend({
}
});
+core.serviceRegistry.add('local_storage', LocalStorageService);
+
return LocalStorageService;
});
diff --git a/addons/web/static/src/js/services/report_service.js b/addons/web/static/src/js/services/report_service.js
index a2bb8759a24..cfd62c0499f 100644
--- a/addons/web/static/src/js/services/report_service.js
+++ b/addons/web/static/src/js/services/report_service.js
@@ -6,6 +6,7 @@ odoo.define('web.ReportService', function (require) {
*/
var AbstractService = require('web.AbstractService');
+var core = require('web.core');
var ReportService = AbstractService.extend({
name: 'report',
@@ -28,6 +29,8 @@ var ReportService = AbstractService.extend({
},
});
+core.serviceRegistry.add('report', ReportService);
+
return ReportService;
});