diff options
Diffstat (limited to 'addons/web')
50 files changed, 324 insertions, 343 deletions
diff --git a/addons/web/static/src/js/action_manager.js b/addons/web/static/src/js/action_manager.js index 4c49a7a5772..efc617c4af2 100644 --- a/addons/web/static/src/js/action_manager.js +++ b/addons/web/static/src/js/action_manager.js @@ -1,4 +1,4 @@ -odoo.define('web.ActionManager', ['web.core', 'web.crash_manager', 'web.data', 'web.Dialog', 'web.framework', 'web.pyeval', 'web.session', 'web.ViewManager', 'web.Widget'], function (require) { +odoo.define('web.ActionManager', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/boot.js b/addons/web/static/src/js/boot.js index 67834ebf6b2..28ed102005c 100644 --- a/addons/web/static/src/js/boot.js +++ b/addons/web/static/src/js/boot.js @@ -21,6 +21,9 @@ _: _, }); + var commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg; + var cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g; + var debug = ($.deparam($.param.querystring()).debug !== undefined); var odoo = window.odoo = { @@ -49,10 +52,20 @@ services: services, }, define: function () { - var args = Array.prototype.slice.call(arguments), - name = typeof args[0] === 'string' ? args.shift() : _.uniqueId('__job'), - deps = args[0] instanceof Array ? args.shift() : [], - factory = args[0]; + var args = Array.prototype.slice.call(arguments); + var name = typeof args[0] === 'string' ? args.shift() : _.uniqueId('__job'); + var factory = args[args.length - 1]; + var deps; + if (args[0] instanceof Array) { + deps = args[0]; + } else { + deps = []; + factory.toString() + .replace(commentRegExp, '') + .replace(cjsRequireRegExp, function (match, dep) { + deps.push(dep); + }); + } if (odoo.debug) { if (!(deps instanceof Array)) { diff --git a/addons/web/static/src/js/compatibility.js b/addons/web/static/src/js/compatibility.js index 4c0a4538bc1..cb1b3b795de 100644 --- a/addons/web/static/src/js/compatibility.js +++ b/addons/web/static/src/js/compatibility.js @@ -7,36 +7,7 @@ // facilitate migration. Odoo addons should not use the 'openerp' variable at // all. // ------------------------------------------------------------------------------ -odoo.define('web.compatibility', [ - 'web.ActionManager', - 'web.core', - 'web.data', - 'web.Dialog', - 'web.FavoriteMenu', - 'web.form_common', - 'web.form_relational', - 'web.form_widgets', - 'web.formats', - 'web.FormView', - 'web.framework', - 'web.ListView', - 'web.Menu', - 'web.Model', - 'web.pyeval', - 'web.Registry', - 'web.SearchView', - 'web.session', - 'web.Sidebar', - 'web.SystrayMenu', - 'web.time', - 'web.UserMenu', - 'web.utils', - 'web.View', - 'web.ViewManager', - 'web.WebClient', - 'web.Widget', - ], - function (require) { +odoo.define('web.compatibility', function (require) { "use strict"; var ActionManager = require('web.ActionManager'); @@ -215,9 +186,9 @@ function start_modules (modules) { }); -odoo.define('mail.compatibility', ['mail.mail'], function (require) { +odoo.define('mail.compatibility', function (require) { var mail = require('mail.mail'); -return; + window.openerp = window.openerp || {}; openerp.mail = {}; openerp.mail.Wall = mail.Wall; diff --git a/addons/web/static/src/js/framework/ajax.js b/addons/web/static/src/js/framework/ajax.js index 00da4610f9c..dd1eee906c1 100644 --- a/addons/web/static/src/js/framework/ajax.js +++ b/addons/web/static/src/js/framework/ajax.js @@ -1,4 +1,4 @@ -odoo.define('web.ajax', ['web.time'], function (require) { +odoo.define('web.ajax', function (require) { "use strict"; var time = require('web.time'); diff --git a/addons/web/static/src/js/framework/core.js b/addons/web/static/src/js/framework/core.js index 5bfe975c7fd..f7fc67e602f 100644 --- a/addons/web/static/src/js/framework/core.js +++ b/addons/web/static/src/js/framework/core.js @@ -1,4 +1,4 @@ -odoo.define('web.core', ['web.Class', 'web.mixins', 'web.Registry', 'web.translation', 'qweb', '_', '$'], function (require) { +odoo.define('web.core', function (require) { "use strict"; var Class = require('web.Class'); diff --git a/addons/web/static/src/js/framework/crash_manager.js b/addons/web/static/src/js/framework/crash_manager.js index 416ef4b4136..ec4350d2031 100644 --- a/addons/web/static/src/js/framework/crash_manager.js +++ b/addons/web/static/src/js/framework/crash_manager.js @@ -1,9 +1,9 @@ -odoo.define('web.crash_manager', ['web.CrashManager'], function (require) { +odoo.define('web.crash_manager', function (require) { var CrashManager = require('web.CrashManager'); return new CrashManager(); }); -odoo.define('web.CrashManager', ['web.ajax', 'web.core', 'web.Dialog', 'web.session'], function (require) { +odoo.define('web.CrashManager', function (require) { "use strict"; var ajax = require('web.ajax'); diff --git a/addons/web/static/src/js/framework/data.js b/addons/web/static/src/js/framework/data.js index f8f091be80d..efbce3a5056 100644 --- a/addons/web/static/src/js/framework/data.js +++ b/addons/web/static/src/js/framework/data.js @@ -1,4 +1,4 @@ -odoo.define('web.data', ['web.core', 'web.Model', 'web.session', 'web.pyeval'], function (require) { +odoo.define('web.data', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/framework/dialog.js b/addons/web/static/src/js/framework/dialog.js index 9464c452124..81d8860d4c3 100644 --- a/addons/web/static/src/js/framework/dialog.js +++ b/addons/web/static/src/js/framework/dialog.js @@ -1,4 +1,4 @@ -odoo.define('web.Dialog', ['web.core', 'web.Widget'], function (require) { +odoo.define('web.Dialog', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/framework/formats.js b/addons/web/static/src/js/framework/formats.js index 4126447c76a..a8dc52bee4a 100644 --- a/addons/web/static/src/js/framework/formats.js +++ b/addons/web/static/src/js/framework/formats.js @@ -1,4 +1,4 @@ -odoo.define('web.formats', ['web.core', 'web.time', 'web.utils'], function (require) { +odoo.define('web.formats', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/framework/misc.js b/addons/web/static/src/js/framework/misc.js index a3aaadbc46c..804a30cef7d 100644 --- a/addons/web/static/src/js/framework/misc.js +++ b/addons/web/static/src/js/framework/misc.js @@ -1,4 +1,4 @@ -odoo.define('web.framework', ['web.core', 'web.crash_manager', 'web.session', 'web.utils', 'web.Widget'], function (require) { +odoo.define('web.framework', function (require) { "use strict"; var core = require('web.core'); @@ -331,7 +331,7 @@ return { }); -odoo.define('web.session', ['web.Session'], function (require) { +odoo.define('web.session', function (require) { var Session = require('web.Session'); var modules = odoo._modules; return new Session(undefined, undefined, {modules:modules}); diff --git a/addons/web/static/src/js/framework/mixins.js b/addons/web/static/src/js/framework/mixins.js index 102b75a9e4b..0f495392a6c 100644 --- a/addons/web/static/src/js/framework/mixins.js +++ b/addons/web/static/src/js/framework/mixins.js @@ -1,4 +1,4 @@ -odoo.define('web.mixins', ['web.Class', 'web.utils'], function (require) { +odoo.define('web.mixins', function (require) { "use strict"; var Class = require('web.Class'); diff --git a/addons/web/static/src/js/framework/model.js b/addons/web/static/src/js/framework/model.js index f1a1555fd6f..ca4c29452a3 100644 --- a/addons/web/static/src/js/framework/model.js +++ b/addons/web/static/src/js/framework/model.js @@ -1,4 +1,4 @@ -odoo.define('web.Model', ['web.Class', 'web.session', 'web.utils'], function (require) { +odoo.define('web.Model', function (require) { "use strict"; var Class = require('web.Class'); @@ -110,7 +110,7 @@ var Model = Class.extend({ return Model; }); -odoo.define('web.DataModel', ['web.data', 'web.Model', 'web.pyeval', 'web.session'], function (require) { +odoo.define('web.DataModel', function (require) { "use strict"; var data = require('web.data'); diff --git a/addons/web/static/src/js/framework/pyeval.js b/addons/web/static/src/js/framework/pyeval.js index 18d43db318b..ce25e7af534 100644 --- a/addons/web/static/src/js/framework/pyeval.js +++ b/addons/web/static/src/js/framework/pyeval.js @@ -1,4 +1,4 @@ -odoo.define('web.pyeval', ['web.core', 'web.session', 'web.utils'], function (require) { +odoo.define('web.pyeval', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/framework/registry.js b/addons/web/static/src/js/framework/registry.js index c90614cf94a..b8bc1dbadfe 100644 --- a/addons/web/static/src/js/framework/registry.js +++ b/addons/web/static/src/js/framework/registry.js @@ -1,4 +1,4 @@ -odoo.define('web.Registry', ['web.Class'], function (require) { +odoo.define('web.Registry', function (require) { "use strict"; var Class = require('web.Class'); diff --git a/addons/web/static/src/js/framework/session.js b/addons/web/static/src/js/framework/session.js index f81fec5ab54..51ebc10b172 100644 --- a/addons/web/static/src/js/framework/session.js +++ b/addons/web/static/src/js/framework/session.js @@ -1,4 +1,4 @@ -odoo.define('web.Session', ['web.ajax', 'web.core', 'web.utils'], function (require) { +odoo.define('web.Session', function (require) { "use strict"; var ajax = require('web.ajax'); diff --git a/addons/web/static/src/js/framework/time.js b/addons/web/static/src/js/framework/time.js index 7a13655c39b..2c590c7304c 100644 --- a/addons/web/static/src/js/framework/time.js +++ b/addons/web/static/src/js/framework/time.js @@ -1,4 +1,4 @@ -odoo.define('web.time', ['web.translation', 'web.utils'], function (require) { +odoo.define('web.time', function (require) { "use strict"; var translation = require('web.translation'); diff --git a/addons/web/static/src/js/framework/translation.js b/addons/web/static/src/js/framework/translation.js index 6f44a57b275..00044ee13fc 100644 --- a/addons/web/static/src/js/framework/translation.js +++ b/addons/web/static/src/js/framework/translation.js @@ -1,9 +1,8 @@ -odoo.define('web.translation', ['web.Class', 'qweb'], function (require) { +odoo.define('web.translation', function (require) { "use strict"; var Class = require('web.Class'); - var qweb = require('qweb'); diff --git a/addons/web/static/src/js/framework/utils.js b/addons/web/static/src/js/framework/utils.js index d412a17bc9a..29a15d47a30 100644 --- a/addons/web/static/src/js/framework/utils.js +++ b/addons/web/static/src/js/framework/utils.js @@ -1,4 +1,4 @@ -odoo.define('web.utils', ['web.Class', 'web.translation'], function (require) { +odoo.define('web.utils', function (require) { "use strict"; var Class = require('web.Class'); diff --git a/addons/web/static/src/js/framework/view.js b/addons/web/static/src/js/framework/view.js index c315e53d710..145989ad7aa 100644 --- a/addons/web/static/src/js/framework/view.js +++ b/addons/web/static/src/js/framework/view.js @@ -1,4 +1,4 @@ -odoo.define('web.View', ['web.core', 'web.data', 'web.pyeval', 'web.Widget'], function (require) { +odoo.define('web.View', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/framework/widget.js b/addons/web/static/src/js/framework/widget.js index 6d691f812e0..aae0ed36c19 100644 --- a/addons/web/static/src/js/framework/widget.js +++ b/addons/web/static/src/js/framework/widget.js @@ -1,4 +1,4 @@ -odoo.define('web.Widget', ['web.core', 'web.session'], function (require) { +odoo.define('web.Widget', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/menu.js b/addons/web/static/src/js/menu.js index c7bf4b07828..95198e6dedf 100644 --- a/addons/web/static/src/js/menu.js +++ b/addons/web/static/src/js/menu.js @@ -1,4 +1,4 @@ -odoo.define('web.Menu', ['web.core', 'web.session', 'web.Widget'], function (require) { +odoo.define('web.Menu', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/tour.js b/addons/web/static/src/js/tour.js index 7ee3e43f049..c486abf126c 100644 --- a/addons/web/static/src/js/tour.js +++ b/addons/web/static/src/js/tour.js @@ -1,4 +1,4 @@ -odoo.define('web.Tour', ['web.core'], function (require) { +odoo.define('web.Tour', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/view_manager.js b/addons/web/static/src/js/view_manager.js index dfef449fe9e..869ba4f1b0c 100644 --- a/addons/web/static/src/js/view_manager.js +++ b/addons/web/static/src/js/view_manager.js @@ -1,4 +1,4 @@ -odoo.define('web.ViewManager', ['web.core', 'web.data', 'web.Dialog', 'web.formats', 'web.framework', 'web.Model', 'web.pyeval', 'web.utils', 'web.SearchView', 'web.session', 'web.Widget'], function (require) { +odoo.define('web.ViewManager', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/views/form_common.js b/addons/web/static/src/js/views/form_common.js index c1f679fa4f3..39368db840c 100644 --- a/addons/web/static/src/js/views/form_common.js +++ b/addons/web/static/src/js/views/form_common.js @@ -1,4 +1,4 @@ -odoo.define('web.form_common', ['web.core', 'web.data', 'web.Dialog', 'web.ListView', 'web.pyeval', 'web.SearchView', 'web.session', 'web.utils', 'web.Widget'], function (require) { +odoo.define('web.form_common', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/views/form_relational_widgets.js b/addons/web/static/src/js/views/form_relational_widgets.js index 19ca1903048..376a01f07f5 100644 --- a/addons/web/static/src/js/views/form_relational_widgets.js +++ b/addons/web/static/src/js/views/form_relational_widgets.js @@ -1,4 +1,4 @@ -odoo.define('web.form_relational', ['web.core', 'web.data', 'web.Dialog', 'web.form_common', 'web.FormView', 'web.ListView', 'web.Model', 'web.session', 'web.utils', 'web.ViewManager'], function (require) { +odoo.define('web.form_relational', function (require) { "use strict"; var core = require('web.core'); @@ -1935,7 +1935,7 @@ return { }); -odoo.define('web_kanban.Many2ManyKanbanView', ['web.core', 'web_kanban.KanbanView', 'web.Widget'], function (require) { +odoo.define('web_kanban.Many2ManyKanbanView', function (require) { "use strict"; // This code has a dependency on the addon web_kanban. This is a weird dependency issue. To fix it, // we should either move this code into web_kanban, or move web_kanban into the web client. diff --git a/addons/web/static/src/js/views/form_view.js b/addons/web/static/src/js/views/form_view.js index ac7ea1d7888..63981ec0578 100644 --- a/addons/web/static/src/js/views/form_view.js +++ b/addons/web/static/src/js/views/form_view.js @@ -1,4 +1,4 @@ -odoo.define('web.FormView', ['web.core', 'web.crash_manager', 'web.data', 'web.Dialog', 'web.form_common', 'web.Model', 'web.Sidebar', 'web.utils', 'web.View'], function (require) { +odoo.define('web.FormView', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js index 69150e4f199..0757f581457 100644 --- a/addons/web/static/src/js/views/form_widgets.js +++ b/addons/web/static/src/js/views/form_widgets.js @@ -1,4 +1,4 @@ -odoo.define('web.form_widgets', ['web.core', 'web.crash_manager', 'web.data', 'web.datepicker', 'web.Dialog', 'web.form_common', 'web.formats', 'web.framework', 'web.Model', 'web.pyeval', 'web.session', 'web.utils'], function (require) { +odoo.define('web.form_widgets', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/views/graph_view.js b/addons/web/static/src/js/views/graph_view.js index 26826b19aac..f8e89a27e86 100644 --- a/addons/web/static/src/js/views/graph_view.js +++ b/addons/web/static/src/js/views/graph_view.js @@ -1,4 +1,4 @@ -odoo.define('web.GraphView', ['web.core', 'web.GraphWidget', 'web.Model', 'web.View'], function (require) { +odoo.define('web.GraphView', function (require) { "use strict"; /*--------------------------------------------------------- * Odoo Graph view diff --git a/addons/web/static/src/js/views/graph_widget.js b/addons/web/static/src/js/views/graph_widget.js index b06ab42f346..8450c9d1d7e 100644 --- a/addons/web/static/src/js/views/graph_widget.js +++ b/addons/web/static/src/js/views/graph_widget.js @@ -1,4 +1,4 @@ -odoo.define('web.GraphWidget', ['web.core', 'web.Model', 'web.Widget'], function (require) { +odoo.define('web.GraphWidget', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/views/list_common.js b/addons/web/static/src/js/views/list_common.js index e2e9ec1eb41..f93625e8edd 100644 --- a/addons/web/static/src/js/views/list_common.js +++ b/addons/web/static/src/js/views/list_common.js @@ -1,4 +1,4 @@ -odoo.define('web.list_common', ['web.core'], function (require) { +odoo.define('web.list_common', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/views/list_view.js b/addons/web/static/src/js/views/list_view.js index ef875e51679..93bf5b5071f 100644 --- a/addons/web/static/src/js/views/list_view.js +++ b/addons/web/static/src/js/views/list_view.js @@ -1,5 +1,5 @@ -odoo.define('web.ListView', ['web.core', 'web.data', 'web.DataExport', 'web.formats', 'web.list_common', 'web.Model', 'web.pyeval', 'web.session', 'web.Sidebar', 'web.utils', 'web.View'], function (require) { +odoo.define('web.ListView', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/views/list_view_editable.js b/addons/web/static/src/js/views/list_view_editable.js index c4262fbce97..08f43164471 100644 --- a/addons/web/static/src/js/views/list_view_editable.js +++ b/addons/web/static/src/js/views/list_view_editable.js @@ -1,4 +1,4 @@ -odoo.define('web.ListEditor', ['web.core', 'web.FormView', 'web.list_common', 'web.ListView', 'web.utils', 'web.Widget'], function (require) { +odoo.define('web.ListEditor', function (require) { "use strict"; /*--------------------------------------------------------- * Odoo Editable List view diff --git a/addons/web/static/src/js/views/pivot_view.js b/addons/web/static/src/js/views/pivot_view.js index 8ca6e2976fb..cd401b3ea51 100644 --- a/addons/web/static/src/js/views/pivot_view.js +++ b/addons/web/static/src/js/views/pivot_view.js @@ -1,4 +1,4 @@ -odoo.define('web.PivotView', ['web.core', 'web.crash_manager', 'web.formats', 'web.framework', 'web.Model', 'web.session', 'web.Sidebar', 'web.utils', 'web.View'], function (require) { +odoo.define('web.PivotView', function (require) { "use strict"; /*--------------------------------------------------------- * Odoo Pivot Table view diff --git a/addons/web/static/src/js/views/search_filters.js b/addons/web/static/src/js/views/search_filters.js index dfc0d0bf4bc..287e7932639 100644 --- a/addons/web/static/src/js/views/search_filters.js +++ b/addons/web/static/src/js/views/search_filters.js @@ -1,4 +1,4 @@ -odoo.define('web.search_filters', ['web.core', 'web.datepicker', 'web.formats', 'web.Widget'], function (require) { +odoo.define('web.search_filters', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/views/search_inputs.js b/addons/web/static/src/js/views/search_inputs.js index 97678cc60c8..a89fa976a74 100644 --- a/addons/web/static/src/js/views/search_inputs.js +++ b/addons/web/static/src/js/views/search_inputs.js @@ -1,4 +1,4 @@ -odoo.define('web.search_inputs', ['web.core', 'web.data', 'web.formats', 'web.Model', 'web.pyeval', 'web.time', 'web.utils', 'web.Widget'], function (require) { +odoo.define('web.search_inputs', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/views/search_menus.js b/addons/web/static/src/js/views/search_menus.js index 56df4657c48..54d83ba8f78 100644 --- a/addons/web/static/src/js/views/search_menus.js +++ b/addons/web/static/src/js/views/search_menus.js @@ -1,4 +1,4 @@ -odoo.define('web.FavoriteMenu', ['web.core', 'web.Model','web.pyeval', 'web.session', 'web.Widget'], function (require) { +odoo.define('web.FavoriteMenu', function (require) { "use strict"; var core = require('web.core'); @@ -247,7 +247,7 @@ return Widget.extend({ }); -odoo.define('web.FilterMenu', ['web.Widget', 'web.search_filters', 'web.search_inputs'], function (require) { +odoo.define('web.FilterMenu', function (require) { var search_filters = require('web.search_filters'), search_inputs = require('web.search_inputs'), @@ -355,7 +355,7 @@ return Widget.extend({ }); -odoo.define('web.GroupByMenu', ['web.Widget', 'web.core', 'web.search_inputs'], function (require) { +odoo.define('web.GroupByMenu', function (require) { var Widget = require('web.Widget'), core = require('web.core'), diff --git a/addons/web/static/src/js/views/search_view.js b/addons/web/static/src/js/views/search_view.js index a459dfe666b..af18bdea9ac 100644 --- a/addons/web/static/src/js/views/search_view.js +++ b/addons/web/static/src/js/views/search_view.js @@ -1,4 +1,4 @@ -odoo.define('web.SearchView', ['web.AutoComplete', 'web.core', 'web.FavoriteMenu', 'web.FilterMenu', 'web.GroupByMenu', 'web.Model', 'web.pyeval', 'web.search_inputs', 'web.utils', 'web.Widget'], function (require) { +odoo.define('web.SearchView', function (require) { "use strict"; var AutoComplete = require('web.AutoComplete'); @@ -715,7 +715,7 @@ return SearchView; }); -odoo.define('web.AutoComplete', ['web.Widget'], function (require) { +odoo.define('web.AutoComplete', function (require) { "use strict"; var Widget = require('web.Widget'); diff --git a/addons/web/static/src/js/views/tree_view.js b/addons/web/static/src/js/views/tree_view.js index 7c3950a5407..b6e0e74a8de 100644 --- a/addons/web/static/src/js/views/tree_view.js +++ b/addons/web/static/src/js/views/tree_view.js @@ -1,4 +1,4 @@ -odoo.define('web.TreeView', ['web.core', 'web.data', 'web.formats', 'web.pyeval', 'web.session', 'web.View'], function (require) { +odoo.define('web.TreeView', function (require) { "use strict"; /*--------------------------------------------------------- * Odoo Tree view diff --git a/addons/web/static/src/js/web_client.js b/addons/web/static/src/js/web_client.js index e4d943ce6bf..26eaf883aac 100644 --- a/addons/web/static/src/js/web_client.js +++ b/addons/web/static/src/js/web_client.js @@ -1,4 +1,4 @@ -odoo.define('web.WebClient', ['web.ActionManager', 'web.core', 'web.crash_manager', 'web.data', 'web.Loading', 'web.Menu', 'web.Model', 'web.Notification', 'web.session', 'web.SystrayMenu', 'web.UserMenu', 'web.utils', 'web.Widget'], function (require) { +odoo.define('web.WebClient', function (require) { "use strict"; var ActionManager = require('web.ActionManager'); diff --git a/addons/web/static/src/js/widgets/change_password.js b/addons/web/static/src/js/widgets/change_password.js index d1b7e98c74e..0ddfb20c4df 100644 --- a/addons/web/static/src/js/widgets/change_password.js +++ b/addons/web/static/src/js/widgets/change_password.js @@ -1,4 +1,4 @@ -odoo.define('web.ChangePassword', ['web.core', 'web.Dialog', 'web.Widget'], function (require) { +odoo.define('web.ChangePassword', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/widgets/data_export.js b/addons/web/static/src/js/widgets/data_export.js index 73ec37cdd17..946862d7102 100644 --- a/addons/web/static/src/js/widgets/data_export.js +++ b/addons/web/static/src/js/widgets/data_export.js @@ -1,4 +1,4 @@ -odoo.define('web.DataExport', ['web.core', 'web.crash_manager', 'web.data', 'web.Dialog', 'web.framework'], function (require) { +odoo.define('web.DataExport', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/widgets/database_manager.js b/addons/web/static/src/js/widgets/database_manager.js index 9bd5b4d05c3..180d42b59b6 100644 --- a/addons/web/static/src/js/widgets/database_manager.js +++ b/addons/web/static/src/js/widgets/database_manager.js @@ -1,4 +1,4 @@ -odoo.define('web.DatabaseManager', ['web.core', 'web.Dialog', 'web.framework', 'web.web_client', 'web.Widget'], function (require) { +odoo.define('web.DatabaseManager', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/widgets/date_picker.js b/addons/web/static/src/js/widgets/date_picker.js index 7e242cf1d6e..124b14b803c 100644 --- a/addons/web/static/src/js/widgets/date_picker.js +++ b/addons/web/static/src/js/widgets/date_picker.js @@ -1,4 +1,4 @@ -odoo.define('web.datepicker', ['web.core', 'web.formats', 'web.time', 'web.Widget'], function (require) { +odoo.define('web.datepicker', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/widgets/loading.js b/addons/web/static/src/js/widgets/loading.js index 75ac1a8b4b8..4ccabcc199e 100644 --- a/addons/web/static/src/js/widgets/loading.js +++ b/addons/web/static/src/js/widgets/loading.js @@ -1,4 +1,4 @@ -odoo.define('web.Loading', ['web.core', 'web.framework', 'web.session', 'web.Widget'], function (require) { +odoo.define('web.Loading', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/widgets/notification.js b/addons/web/static/src/js/widgets/notification.js index d99ef75b324..d9376155787 100644 --- a/addons/web/static/src/js/widgets/notification.js +++ b/addons/web/static/src/js/widgets/notification.js @@ -1,4 +1,4 @@ -odoo.define('web.Notification', ['web.Widget'], function (require) { +odoo.define('web.Notification', function (require) { "use strict"; var Widget = require('web.Widget'); diff --git a/addons/web/static/src/js/widgets/sidebar.js b/addons/web/static/src/js/widgets/sidebar.js index 7005ec2012e..e0bdcd3f57c 100644 --- a/addons/web/static/src/js/widgets/sidebar.js +++ b/addons/web/static/src/js/widgets/sidebar.js @@ -1,4 +1,4 @@ -odoo.define('web.Sidebar', ['web.core', 'web.data', 'web.Dialog', 'web.framework', 'web.pyeval', 'web.session', 'web.Widget'], function (require) { +odoo.define('web.Sidebar', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/widgets/systray_menu.js b/addons/web/static/src/js/widgets/systray_menu.js index eb218a51bc7..b969663e70b 100644 --- a/addons/web/static/src/js/widgets/systray_menu.js +++ b/addons/web/static/src/js/widgets/systray_menu.js @@ -1,4 +1,4 @@ -odoo.define('web.SystrayMenu', ['web.Widget'], function (require) { +odoo.define('web.SystrayMenu', function (require) { "use strict"; var Widget = require('web.Widget'); diff --git a/addons/web/static/src/js/widgets/user_menu.js b/addons/web/static/src/js/widgets/user_menu.js index 450b0191486..fa5ea2bbdf7 100644 --- a/addons/web/static/src/js/widgets/user_menu.js +++ b/addons/web/static/src/js/widgets/user_menu.js @@ -1,4 +1,4 @@ -odoo.define('web.UserMenu', ['web.core', 'web.Dialog', 'web.framework', 'web.Model', 'web.session', 'web.Widget'], function (require) { +odoo.define('web.UserMenu', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/test/menu.js b/addons/web/static/test/menu.js index 957607ae535..1c90b46fc46 100644 --- a/addons/web/static/test/menu.js +++ b/addons/web/static/test/menu.js @@ -1,298 +1,296 @@ -odoo.define('web.test.menu', ['web.Tour'], function (require) { - "use strict"; +odoo.define('web.test.menu', function (require) { +"use strict"; - var Tour = require('web.Tour'); +var Tour = require('web.Tour'); +function openmenu () { + setTimeout(function () { + $(".collapse:not(.in)").addClass("in"); + $(".dropdown:not(.open)").addClass("open"); + },3000); +} - - function openmenu () { - setTimeout(function () { - $(".collapse:not(.in)").addClass("in"); - $(".dropdown:not(.open)").addClass("open"); - },3000); - } - - Tour.register({ - id: 'test_menu', - name: "Test all menu items", - path: '/web', - mode: 'test', - steps: [ - { - title: "begin test", - onload: function () { - localStorage.setItem('active_step', 0); - localStorage.setItem('menu_tested', "[]"); - }, +Tour.register({ + id: 'test_menu', + name: "Test all menu items", + path: '/web', + mode: 'test', + steps: [ + { + title: "begin test", + onload: function () { + localStorage.setItem('active_step', 0); + localStorage.setItem('menu_tested', "[]"); }, + }, - // log as admin + // log as admin - { - title: "log on as admin", - element: ".oe_login_form button", - onload: function () { - $('input[name="login"], input[name="password"]').val("admin"); - }, - }, - { - title: "load web admin", - waitFor: ".oe_view_manager_body", - onload: function () { - localStorage.setItem('active_step', (+localStorage.getItem('active_step'))+1 ); - openmenu(); - }, + { + title: "log on as admin", + element: ".oe_login_form button", + onload: function () { + $('input[name="login"], input[name="password"]').val("admin"); }, - { - title: "click on Settings", - element: '.oe_application_menu_placeholder a[data-menu]:contains(Settings)', - waitNot: '.oe_loading:visible, button.oe_form_button:contains(Apply).already_tested', + }, + { + title: "load web admin", + waitFor: ".oe_view_manager_body", + onload: function () { + localStorage.setItem('active_step', (+localStorage.getItem('active_step'))+1 ); + openmenu(); }, + }, + { + title: "click on Settings", + element: '.oe_application_menu_placeholder a[data-menu]:contains(Settings)', + waitNot: '.oe_loading:visible, button.oe_form_button:contains(Apply).already_tested', + }, - // add technical features to admin user + // add technical features to admin user - { - title: "click on User form Admin", - element: '.oe_secondary_menu a:visible:contains(Users)', - waitNot: ".oe_loading:visible", - }, - { - title: "click on Admin", - element: '.oe_list_field_cell:contains(Admin)', - }, - { - waitFor: '.oe_breadcrumb_item:contains(Admin)', - waitNot: ".oe_loading:visible", - }, - { - title: "click on Edit button", - element: 'button.oe_form_button_edit', - }, - { - title: "click on Technical Features", - element: 'td:contains(Technical Features) + td input:not(:disabled):visible', - onend: function () { - $('td:contains(Technical Features) + td input:not(:disabled):visible').attr("checked", true); - }, - }, - { - title: "click on Save User", - waitFor: 'td:contains(Technical Features) + td input:checked:not(:disabled):visible', - element: 'button.oe_form_button_save', + { + title: "click on User form Admin", + element: '.oe_secondary_menu a:visible:contains(Users)', + waitNot: ".oe_loading:visible", + }, + { + title: "click on Admin", + element: '.oe_list_field_cell:contains(Admin)', + }, + { + waitFor: '.oe_breadcrumb_item:contains(Admin)', + waitNot: ".oe_loading:visible", + }, + { + title: "click on Edit button", + element: 'button.oe_form_button_edit', + }, + { + title: "click on Technical Features", + element: 'td:contains(Technical Features) + td input:not(:disabled):visible', + onend: function () { + $('td:contains(Technical Features) + td input:not(:disabled):visible').attr("checked", true); }, + }, + { + title: "click on Save User", + waitFor: 'td:contains(Technical Features) + td input:checked:not(:disabled):visible', + element: 'button.oe_form_button_save', + }, - // add technical features to demo user + // add technical features to demo user - { - title: "click on User", - element: '.oe_secondary_menu a:visible:contains(Users)', - waitFor: 'td:contains(Technical Features) + td input:disabled:visible', - }, - { - title: "click on Demo", - element: '.oe_list_field_cell:contains(Demo)', - }, - { - waitFor: '.oe_breadcrumb_item:contains(Demo)', - waitNot: ".oe_loading:visible", - }, - { - title: "click on Edit button", - element: 'button.oe_form_button_edit', - }, - { - title: "click on Technical Features", - element: 'td:contains(Technical Features) + td input:not(:disabled):visible', - onend: function () { - $('td:contains(Technical Features) + td input:not(:disabled):visible').attr("checked", true); - if (localStorage.getItem('active_step') === "2") { - $('input').attr("checked", true); - $('.oe_view_manager_body td:contains(Portal) + td input:visible').attr("checked", null); - $('.oe_view_manager_body td:contains(Public) + td input:visible').attr("checked", null); - $('select').each(function () { - $('option:last', this).attr('selected', true); - }); - } - }, + { + title: "click on User", + element: '.oe_secondary_menu a:visible:contains(Users)', + waitFor: 'td:contains(Technical Features) + td input:disabled:visible', + }, + { + title: "click on Demo", + element: '.oe_list_field_cell:contains(Demo)', + }, + { + waitFor: '.oe_breadcrumb_item:contains(Demo)', + waitNot: ".oe_loading:visible", + }, + { + title: "click on Edit button", + element: 'button.oe_form_button_edit', + }, + { + title: "click on Technical Features", + element: 'td:contains(Technical Features) + td input:not(:disabled):visible', + onend: function () { + $('td:contains(Technical Features) + td input:not(:disabled):visible').attr("checked", true); + if (localStorage.getItem('active_step') === "2") { + $('input').attr("checked", true); + $('.oe_view_manager_body td:contains(Portal) + td input:visible').attr("checked", null); + $('.oe_view_manager_body td:contains(Public) + td input:visible').attr("checked", null); + $('select').each(function () { + $('option:last', this).attr('selected', true); + }); + } }, - { - title: "click on Save User", - waitFor: 'td:contains(Technical Features) + td input:checked:not(:disabled):visible', - element: 'button.oe_form_button_save', - onload: function () { - openmenu(); - }, + }, + { + title: "click on Save User", + waitFor: 'td:contains(Technical Features) + td input:checked:not(:disabled):visible', + element: 'button.oe_form_button_save', + onload: function () { + openmenu(); }, + }, - // log out + // log out - { - title: "log out amdin", - waitFor: 'td:contains(Technical Features) + td input:disabled:visible', - element: 'a[data-menu="logout"]', - }, + { + title: "log out amdin", + waitFor: 'td:contains(Technical Features) + td input:disabled:visible', + element: 'a[data-menu="logout"]', + }, - // log as demo + // log as demo - { - title: "log on as demo user", - element: ".oe_login_form button", - onload: function () { - $('input[name="login"], input[name="password"]').val("demo"); - }, + { + title: "log on as demo user", + element: ".oe_login_form button", + onload: function () { + $('input[name="login"], input[name="password"]').val("demo"); }, - { - title: "load web demo", - waitFor: ".oe_view_manager_body", - onload: function () { - openmenu(); - }, - next: "check", + }, + { + title: "load web demo", + waitFor: ".oe_view_manager_body", + onload: function () { + openmenu(); }, + next: "check", + }, - // click all menu items + // click all menu items - { - title: "Click on top menu", - element: '.oe_application_menu_placeholder a[data-menu]:not([data-action-model="ir.actions.act_url"]):not(.already_tested):first', - onload: function () { - var $menu = $(this.element); - console.log("Tour 'test_menu' click on: '"+$menu.text().replace(/^\s+|\s+$/g, '')+"'"); - }, - onend: function () { - $(this.element).addClass('already_tested'); - $('.oe_secondary_submenu').show(); - }, - next: "check" + { + title: "Click on top menu", + element: '.oe_application_menu_placeholder a[data-menu]:not([data-action-model="ir.actions.act_url"]):not(.already_tested):first', + onload: function () { + var $menu = $(this.element); + console.log("Tour 'test_menu' click on: '"+$menu.text().replace(/^\s+|\s+$/g, '')+"'"); }, - { - title: "Click on sub menu", - element: '.oe_secondary_menu a:not(.oe_menu_toggler):visible:not(.already_tested):first', - onload: function () { - var $menu = $(this.element); - console.log("Tour 'test_menu' click on: '"+$menu.find('span:first').text().replace(/^\s+|\s+$/g, '')+"'"); - }, - onend: function () { - $(this.element).addClass('already_tested'); - }, - next: "check" + onend: function () { + $(this.element).addClass('already_tested'); + $('.oe_secondary_submenu').show(); }, - { - title: "Click on need action", - element: '.oe_secondary_menu a:not(.oe_menu_toggler) div.badge:visible:not(.already_tested):first', - onload: function () { - var $menu = $(this.element); - console.log("Tour 'test_menu' click on need action: '"+$menu.parent().find('span:first').text().replace(/^\s+|\s+$/g, '')+"'"); - }, - onend: function () { - $(this.element).addClass('already_tested'); - }, - next: "check" + next: "check" + }, + { + title: "Click on sub menu", + element: '.oe_secondary_menu a:not(.oe_menu_toggler):visible:not(.already_tested):first', + onload: function () { + var $menu = $(this.element); + console.log("Tour 'test_menu' click on: '"+$menu.find('span:first').text().replace(/^\s+|\s+$/g, '')+"'"); }, - { - title: "Click on switch view", - element: '.oe_view_manager_switch li a:not(.already_tested):first', - onload: function () { - var $menu = $(this.element); - console.log("Tour 'test_menu' click on switch view: '"+$menu.data('original-title')+"'"); - }, - onend: function () { - $(this.element).addClass('already_tested'); - }, - next: "check" + onend: function () { + $(this.element).addClass('already_tested'); }, - - { - title: "check", - waitNot: "body:has("+ - ".oe_view_manager_body > *:visible:not(:empty).already_loaded:not(.oe_searchview_drawer_container), "+ - ".oe_form_sheetbg.already_loaded"+ - "):not(:has(.modal))", - wait: 100, - onerror: function () { - return "Select next action"; - } + next: "check" + }, + { + title: "Click on need action", + element: '.oe_secondary_menu a:not(.oe_menu_toggler) div.badge:visible:not(.already_tested):first', + onload: function () { + var $menu = $(this.element); + console.log("Tour 'test_menu' click on need action: '"+$menu.parent().find('span:first').text().replace(/^\s+|\s+$/g, '')+"'"); }, - { - title: "add class already tested", - waitNot: "body.oe_wait", - onload: function () { - - var tested = JSON.parse(localStorage.getItem('menu_tested') || "[]"); + onend: function () { + $(this.element).addClass('already_tested'); + }, + next: "check" + }, + { + title: "Click on switch view", + element: '.oe_view_manager_switch li a:not(.already_tested):first', + onload: function () { + var $menu = $(this.element); + console.log("Tour 'test_menu' click on switch view: '"+$menu.data('original-title')+"'"); + }, + onend: function () { + $(this.element).addClass('already_tested'); + }, + next: "check" + }, - $('.oe_application_menu_placeholder li.active [data-menu]').addClass('already_tested'); + { + title: "check", + waitNot: "body:has("+ + ".oe_view_manager_body > *:visible:not(:empty).already_loaded:not(.oe_searchview_drawer_container), "+ + ".oe_form_sheetbg.already_loaded"+ + "):not(:has(.modal))", + wait: 100, + onerror: function () { + return "Select next action"; + } + }, + { + title: "add class already tested", + waitNot: "body.oe_wait", + onload: function () { - var $menu = $('.oe_secondary_menus_container li.active [data-action-model]'); - var model = $menu.data('action-model'); - var id = $menu.data('action-id'); - var key = '.oe_secondary_menus_container li [data-action-model="'+model+'"][data-action-id="'+id+'"]'; - if (tested.indexOf(key) === -1) { - tested.push(key); - } + var tested = JSON.parse(localStorage.getItem('menu_tested') || "[]"); - var type = $('.oe_view_manager_switch li.active [data-view-type]').data('view-type'); - var key = 'body:has(.oe_secondary_menus_container li.active [data-action-model="' + model + '"][data-action-id="' + id + '"]) '+ - '.oe_view_manager_switch li [data-view-type="'+type+'"]'; - if (tested.indexOf(key) === -1) { - tested.push(key); - } - localStorage.setItem('menu_tested', JSON.stringify(tested)); + $('.oe_application_menu_placeholder li.active [data-menu]').addClass('already_tested'); + var $menu = $('.oe_secondary_menus_container li.active [data-action-model]'); + var model = $menu.data('action-model'); + var id = $menu.data('action-id'); + var key = '.oe_secondary_menus_container li [data-action-model="'+model+'"][data-action-id="'+id+'"]'; + if (tested.indexOf(key) === -1) { + tested.push(key); + } - $(tested.join(",")).addClass('already_tested'); - $(".oe_view_manager_body > *:visible:not(:empty), .oe_form_sheet").addClass("already_loaded"); - $('.oe_view_manager_switch li.active a').addClass('already_tested'); - }, - wait: 250, // delay to remove wrong-positive - onerror: function () { - return "Select next action"; + var type = $('.oe_view_manager_switch li.active [data-view-type]').data('view-type'); + var key = 'body:has(.oe_secondary_menus_container li.active [data-action-model="' + model + '"][data-action-id="' + id + '"]) '+ + '.oe_view_manager_switch li [data-view-type="'+type+'"]'; + if (tested.indexOf(key) === -1) { + tested.push(key); } + localStorage.setItem('menu_tested', JSON.stringify(tested)); + + + $(tested.join(",")).addClass('already_tested'); + $(".oe_view_manager_body > *:visible:not(:empty), .oe_form_sheet").addClass("already_loaded"); + $('.oe_view_manager_switch li.active a').addClass('already_tested'); }, - { - title: "Select next action", - onload: function () { - if ($(".oe_error_detail").size()) { - console.log("Tour 'test_menu' has detected an error."); - } - if ($(".oe_dialog_warning").size()) { - console.log("Tour 'test_menu' has detected a warning."); - } + wait: 250, // delay to remove wrong-positive + onerror: function () { + return "Select next action"; + } + }, + { + title: "Select next action", + onload: function () { + if ($(".oe_error_detail").size()) { + console.log("Tour 'test_menu' has detected an error."); + } + if ($(".oe_dialog_warning").size()) { + console.log("Tour 'test_menu' has detected a warning."); + } - $('.modal').modal('hide').remove(); + $('.modal').modal('hide').remove(); - var steps = ["Click on switch view", "Click on sub menu", "Click on need action", "Click on top menu"]; - for (var k in steps) { - var step = openerp.Tour.search_step(steps[k]); - if($(step.element).size()) { - return step.id; - } + var steps = ["Click on switch view", "Click on sub menu", "Click on need action", "Click on top menu"]; + for (var k in steps) { + var step = openerp.Tour.search_step(steps[k]); + if($(step.element).size()) { + return step.id; } + } - openmenu(); - }, + openmenu(); }, + }, - // log out and re try + // log out and re try - { - title: "log out", - element: 'a[data-menu="logout"]', - onend: function () { - if (localStorage.getItem('active_step') == "1") { - return "log on as admin"; - } - }, + { + title: "log out", + element: 'a[data-menu="logout"]', + onend: function () { + if (localStorage.getItem('active_step') == "1") { + return "log on as admin"; + } }, + }, - { - title: "finish", - waitFor: "form.oe_login_form", - onload: function () { - localStorage.removeItem('active_step'); - localStorage.removeItem('menu_tested'); - }, - } - ] - }); + { + title: "finish", + waitFor: "form.oe_login_form", + onload: function () { + localStorage.removeItem('active_step'); + localStorage.removeItem('menu_tested'); + }, + } + ] +}); }); diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index b6d933ebdf9..eb6bbc75f56 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -239,7 +239,7 @@ <t t-raw="init"/> </t> <t t-if="not init"> - odoo.define('web.web_client', ['web.WebClient'], function (require) { + odoo.define('web.web_client', function (require) { var WebClient = require('web.WebClient'); var web_client = new WebClient(); web_client.setElement($(document.body)); |
