diff --git a/addons/point_of_sale/views/templates.xml b/addons/point_of_sale/views/templates.xml index 582cefde4fa..0d69cc157ee 100644 --- a/addons/point_of_sale/views/templates.xml +++ b/addons/point_of_sale/views/templates.xml @@ -46,8 +46,6 @@ }); return web_client; }); - odoo.init(); - diff --git a/addons/survey/static/src/js/survey.js b/addons/survey/static/src/js/survey.js index 25b6aea4e19..63dfe92f9e6 100644 --- a/addons/survey/static/src/js/survey.js +++ b/addons/survey/static/src/js/survey.js @@ -8,7 +8,12 @@ var website = require('website.website'); * the website engine. */ -website.if_dom_contains('.js_surveyform', function (the_form) { +var the_form = $('.js_surveyform'); + +if(!the_form.length) { + return $.Deferred().reject("DOM doesn't contain '.js_surveyform'"); +} + console.debug("[survey] Custom JS for survey is loading..."); var prefill_controller = the_form.attr("data-prefill"); @@ -163,6 +168,5 @@ website.if_dom_contains('.js_surveyform', function (the_form) { } console.debug("[survey] Custom JS for survey loaded!"); -}); }); diff --git a/addons/survey/static/src/js/survey_result.js b/addons/survey/static/src/js/survey_result.js index 891c5e1bc75..8fdb794d567 100644 --- a/addons/survey/static/src/js/survey_result.js +++ b/addons/survey/static/src/js/survey_result.js @@ -3,7 +3,10 @@ odoo.define('survey.result', function (require) { var website = require('website.website'); -website.if_dom_contains('.js_surveyresult', function () { +if(!$('.js_surveyresult').length) { + return $.Deferred().reject("DOM doesn't contain '.js_surveyresult'"); +} + console.debug("[survey] Survey Result JS is loading..."); //Script For Pagination @@ -160,6 +163,5 @@ website.if_dom_contains('.js_surveyresult', function () { }); console.debug("[survey] Survey Result JS loaded!"); -}); }); diff --git a/addons/web/static/src/js/boot.js b/addons/web/static/src/js/boot.js index 19fb4c51204..dc4ea5b337c 100644 --- a/addons/web/static/src/js/boot.js +++ b/addons/web/static/src/js/boot.js @@ -5,6 +5,10 @@ /** * @name openerp * @namespace openerp + * + * Modules can return a deferred the module is mark as loaded only when + * the deferred is resolved, and the service value equal the resolved value. + * The module can be rejected (unloaded) and logged as info. */ (function() { @@ -14,6 +18,7 @@ var factories = Object.create(null); var job_names = []; var job_deps = []; + var job_deferred = []; var services = Object.create({ qweb: new QWeb2.Engine(), @@ -29,6 +34,7 @@ var odoo = window.odoo = { testing: typeof QUnit === "object", debug: debug, + remaining_jobs: jobs, __DEBUG__: { get_dependencies: function (name, transitive) { @@ -122,7 +128,11 @@ odoo.__DEBUG__.web_client = services['web.web_client']; if (jobs.length) { - var debug_jobs = {}, job; + var debug_jobs = {}; + var rejected = []; + var rejected_linked = []; + var job; + var jobdep; for (var k=0; k