From 72f7139f52a2702ced50730916fe3972bd2d8f09 Mon Sep 17 00:00:00 2001 From: Romain Derie Date: Mon, 3 Jun 2019 14:26:20 +0000 Subject: [PATCH] [IMP] *: use new helper config.isDebug() Before this commit, both config and session were aliases to odoo.debug. Now, config.isDebug() should be call, with possibility to pass a parameter to check if we are in a specific debug mode such as 'tests' or 'assets'. task-1934445 Coming with https://github.com/odoo/enterprise/pull/4281 Closes https://github.com/odoo/odoo/pull/33213 --- .../base_import/static/src/js/import_action.js | 3 ++- addons/mail/static/src/js/discuss.js | 3 +-- .../src/js/views/activity/activity_renderer.js | 3 ++- addons/point_of_sale/static/src/js/models.js | 4 ++-- addons/web/static/src/js/apps.js | 5 +++-- .../src/js/chrome/action_manager_act_window.js | 2 +- addons/web/static/src/js/chrome/loading.js | 4 ++-- addons/web/static/src/js/chrome/user_menu.js | 3 ++- addons/web/static/src/js/core/ajax.js | 2 +- addons/web/static/src/js/core/session.js | 2 -- .../web/static/src/js/fields/basic_fields.js | 5 +++-- addons/web/static/src/js/services/config.js | 18 ++++++++++++------ addons/web/static/src/js/services/core.js | 4 ++-- .../web/static/src/js/services/data_manager.js | 6 +++--- .../src/js/tools/debug_manager_backend.js | 2 +- .../src/js/views/basic/basic_renderer.js | 2 +- .../src/js/views/calendar/calendar_renderer.js | 2 +- .../static/src/js/views/form/form_renderer.js | 8 ++++---- .../src/js/views/kanban/kanban_record.js | 2 +- .../src/js/views/kanban/kanban_renderer.js | 3 ++- .../static/src/js/views/list/list_renderer.js | 4 ++-- .../web/static/src/js/widgets/data_export.js | 5 +++-- .../static/tests/helpers/test_utils_mock.js | 2 +- addons/web/static/tests/views/form_tests.js | 13 ++++++------- addons/web/static/tests/views/list_tests.js | 9 ++++----- addons/web_editor/static/src/js/common/ace.js | 8 ++++---- .../static/src/js/wysiwyg/wysiwyg.js | 2 +- .../static/src/js/dashboard.js | 2 -- .../static/src/js/menu/debug_manager.js | 3 ++- addons/website/static/src/js/widgets/theme.js | 2 +- 30 files changed, 70 insertions(+), 63 deletions(-) diff --git a/addons/base_import/static/src/js/import_action.js b/addons/base_import/static/src/js/import_action.js index 6a0d6fee4d8..bf41800a41b 100644 --- a/addons/base_import/static/src/js/import_action.js +++ b/addons/base_import/static/src/js/import_action.js @@ -2,6 +2,7 @@ odoo.define('base_import.import', function (require) { "use strict"; var AbstractAction = require('web.AbstractAction'); +var config = require('web.config'); var core = require('web.core'); var session = require('web.session'); var time = require('web.time'); @@ -414,7 +415,7 @@ var DataImport = AbstractAction.extend({ var $thing = $(); var bind = function (d) {}; - if (session.debug) { + if (config.isDebug()) { $thing = $(QWeb.render('ImportView.create_record_option')).insertAfter(v).hide(); bind = function (data) { switch (data.type) { diff --git a/addons/mail/static/src/js/discuss.js b/addons/mail/static/src/js/discuss.js index 8acd52d99c2..5d0647d9762 100644 --- a/addons/mail/static/src/js/discuss.js +++ b/addons/mail/static/src/js/discuss.js @@ -10,7 +10,6 @@ var config = require('web.config'); var core = require('web.core'); var Dialog = require('web.Dialog'); var dom = require('web.dom'); -var session = require('web.session'); var QWeb = core.qweb; var _t = core._t; @@ -731,7 +730,7 @@ var Discuss = AbstractAction.extend({ * @private */ _renderButtons: function () { - this.$buttons = $(QWeb.render('mail.discuss.ControlButtons', { debug: session.debug })); + this.$buttons = $(QWeb.render('mail.discuss.ControlButtons', { debug: config.isDebug() })); this.$buttons.find('button').css({display:'inline-block'}); this.$buttons .on('click', '.o_mail_discuss_button_invite', this._onInviteButtonClicked.bind(this)) diff --git a/addons/mail/static/src/js/views/activity/activity_renderer.js b/addons/mail/static/src/js/views/activity/activity_renderer.js index b7f529b5a3b..c75807a10f0 100644 --- a/addons/mail/static/src/js/views/activity/activity_renderer.js +++ b/addons/mail/static/src/js/views/activity/activity_renderer.js @@ -3,6 +3,7 @@ odoo.define('mail.ActivityRenderer', function (require) { var AbstractRenderer = require('web.AbstractRenderer'); var ActivityRecord = require('mail.ActivityRecord'); +var config = require('web.config'); var core = require('web.core'); var field_registry = require('web.field_registry'); var KanbanColumnProgressBar = require('web.KanbanColumnProgressBar'); @@ -32,7 +33,7 @@ var ActivityRenderer = AbstractRenderer.extend({ init: function (parent, state, params) { this._super.apply(this, arguments); - this.qweb = new qweb(session.debug, {_s: session.origin}); + this.qweb = new qweb(config.isDebug(), {_s: session.origin}); this.qweb.add_template(utils.json_node_to_xml(params.templates)); }, diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js index 47f17c9a641..bb1c74b9718 100644 --- a/addons/point_of_sale/static/src/js/models.js +++ b/addons/point_of_sale/static/src/js/models.js @@ -45,7 +45,7 @@ exports.PosModel = Backbone.Model.extend({ this.proxy_queue = new devices.JobQueue(); // used to prevent parallels communications to the proxy this.db = new PosDB(); // a local database used to search trough products and categories & store pending orders - this.debug = config.debug; //debug mode + this.debug = config.isDebug(); //debug mode // Business data; loaded from the server at launch this.company_logo = null; @@ -2251,7 +2251,7 @@ exports.Order = Backbone.Model.extend({ } else { subreceipt = subreceipt.split('\n').slice(1).join('\n'); var qweb = new QWeb2.Engine(); - qweb.debug = config.debug; + qweb.debug = config.isDebug(); qweb.default_dict = _.clone(QWeb.default_dict); qweb.add_template(''+subreceipt+''); diff --git a/addons/web/static/src/js/apps.js b/addons/web/static/src/js/apps.js index 739317337ba..364401d4281 100644 --- a/addons/web/static/src/js/apps.js +++ b/addons/web/static/src/js/apps.js @@ -2,6 +2,7 @@ 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'); @@ -111,8 +112,8 @@ var Apps = AbstractAction.extend({ self.client = client; var qs = {db: client.dbname}; - if (session.debug) { - qs.debug = session.debug; + if (config.isDebug()) { + qs.debug = odoo.debug; } var u = $.param.querystring(client.origin + "/apps/embed/client", qs); var css = {width: '100%', height: '750px'}; diff --git a/addons/web/static/src/js/chrome/action_manager_act_window.js b/addons/web/static/src/js/chrome/action_manager_act_window.js index efa0f0b2d72..f694e2ca1b0 100644 --- a/addons/web/static/src/js/chrome/action_manager_act_window.js +++ b/addons/web/static/src/js/chrome/action_manager_act_window.js @@ -358,7 +358,7 @@ ActionManager.include({ viewID: view[0], Widget: View, }); - } else if (config.debug === 'assets') { + } else if (config.isDebug('assets')) { console.error("View type '" + viewType + "' is not present in the view registry."); } }); diff --git a/addons/web/static/src/js/chrome/loading.js b/addons/web/static/src/js/chrome/loading.js index 865aa081bf0..9ea48a40c9e 100644 --- a/addons/web/static/src/js/chrome/loading.js +++ b/addons/web/static/src/js/chrome/loading.js @@ -12,9 +12,9 @@ odoo.define('web.Loading', function (require) { * After a delay of 3s, if a rpc is still not completed, we also block the UI. */ +var config = require('web.config'); var core = require('web.core'); var framework = require('web.framework'); -var session = require('web.session'); var Widget = require('web.Widget'); var _t = core._t; @@ -54,7 +54,7 @@ var Loading = Widget.extend({ this.count += increment; if (this.count > 0) { - if (session.debug) { + if (config.isDebug()) { this.$el.text(_.str.sprintf( _t("Loading (%d)"), this.count)); } else { this.$el.text(_t("Loading")); diff --git a/addons/web/static/src/js/chrome/user_menu.js b/addons/web/static/src/js/chrome/user_menu.js index 2cc39b4d6bd..c2d19b7a879 100644 --- a/addons/web/static/src/js/chrome/user_menu.js +++ b/addons/web/static/src/js/chrome/user_menu.js @@ -9,6 +9,7 @@ odoo.define('web.UserMenu', function (require) { * editing its preferences, accessing the documentation, logging out... */ +var config = require('web.config'); var core = require('web.core'); var framework = require('web.framework'); var Dialog = require('web.Dialog'); @@ -39,7 +40,7 @@ var UserMenu = Widget.extend({ return Promise.resolve(); } var topbar_name = session.name; - if (session.debug) { + if (config.isDebug()) { topbar_name = _.str.sprintf("%s (%s)", topbar_name, session.db); } self.$('.oe_topbar_name').text(topbar_name); diff --git a/addons/web/static/src/js/core/ajax.js b/addons/web/static/src/js/core/ajax.js index 8e7216c7b00..a5ed4065282 100644 --- a/addons/web/static/src/js/core/ajax.js +++ b/addons/web/static/src/js/core/ajax.js @@ -435,7 +435,7 @@ var loadAsset = (function () { } var params = { args: [xmlId, { - debug: config.debug + debug: config.isDebug() }], kwargs: { context: odoo.session_info.user_context, diff --git a/addons/web/static/src/js/core/session.js b/addons/web/static/src/js/core/session.js index c5a0b4610b4..dac8e0077f1 100644 --- a/addons/web/static/src/js/core/session.js +++ b/addons/web/static/src/js/core/session.js @@ -3,7 +3,6 @@ odoo.define('web.Session', function (require) { var ajax = require('web.ajax'); var concurrency = require('web.concurrency'); -var config = require('web.config'); var core = require('web.core'); var local_storage = require('web.local_storage'); var mixins = require('web.mixins'); @@ -35,7 +34,6 @@ var Session = core.Class.extend(mixins.EventDispatcherMixin, { this.avoid_recursion = false; this.use_cors = options.use_cors || false; this.setup(origin); - this.debug = config.debug; // for historic reasons, the session requires a name to properly work // (see the methods get_cookie and set_cookie). We should perhaps diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 2e17dee139f..beb7116169a 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -8,6 +8,7 @@ odoo.define('web.basic_fields', function (require) { */ var AbstractField = require('web.AbstractField'); +var config = require('web.config'); var core = require('web.core'); var crash_manager = require('web.crash_manager'); var datepicker = require('web.datepicker'); @@ -2770,7 +2771,7 @@ var FieldDomain = AbstractField.extend({ this.domainSelector = new DomainSelector(this, this._domainModel, value, { readonly: this.mode === "readonly" || this.inDialog, filters: this.fsFilters, - debugMode: session.debug, + debugMode: config.isDebug(), }); def = this.domainSelector.prependTo(this.$el); } else { @@ -2859,7 +2860,7 @@ var FieldDomain = AbstractField.extend({ new DomainSelectorDialog(this, this._domainModel, this.value || "[]", { readonly: this.mode === "readonly", filters: this.fsFilters, - debugMode: session.debug, + debugMode: config.isDebug(), }).open(); }, /** diff --git a/addons/web/static/src/js/services/config.js b/addons/web/static/src/js/services/config.js index 918067f447f..8412c1319a8 100644 --- a/addons/web/static/src/js/services/config.js +++ b/addons/web/static/src/js/services/config.js @@ -11,12 +11,6 @@ odoo.define('web.config', function () { */ var config = { - /** - * debug can be either a boolean, or the special value 'assets' - * - * @type boolean|string - */ - debug: odoo.debug, device: { /** * touch is a boolean, true if the device supports touch interaction @@ -45,6 +39,18 @@ var config = { */ SIZES: { XS: 0, VSM: 1, SM: 2, MD: 3, LG: 4, XL: 5, XXL: 6 }, }, + /** + * States whether the current environment is in debug or not. + * + * @param debugMode the debug mode to check, empty for simple debug mode + * @returns {boolean} + */ + isDebug: function (debugMode) { + if (debugMode) { + return odoo.debug && odoo.debug.indexOf(debugMode) !== -1; + } + return odoo.debug; + }, }; diff --git a/addons/web/static/src/js/services/core.js b/addons/web/static/src/js/services/core.js index ee37479e217..1d4619f6610 100644 --- a/addons/web/static/src/js/services/core.js +++ b/addons/web/static/src/js/services/core.js @@ -2,8 +2,8 @@ odoo.define('web.core', function (require) { "use strict"; var Bus = require('web.Bus'); -var Class = require('web.Class'); var config = require('web.config'); +var Class = require('web.Class'); var QWeb = require('web.QWeb'); var Registry = require('web.Registry'); var translation = require('web.translation'); @@ -27,7 +27,7 @@ _.each('resize,scroll'.split(','), function (evtype) { }); return { - qweb: new QWeb(config.debug), + qweb: new QWeb(config.isDebug()), // core classes and functions Class: Class, diff --git a/addons/web/static/src/js/services/data_manager.js b/addons/web/static/src/js/services/data_manager.js index 4d66a59eac2..45374d4833b 100644 --- a/addons/web/static/src/js/services/data_manager.js +++ b/addons/web/static/src/js/services/data_manager.js @@ -42,7 +42,7 @@ return core.Class.extend({ var self = this; var key = this._gen_key(action_id, additional_context || {}); - if (config.debug === 'assets' || !this._cache.actions[key]) { + if (config.isDebug('assets') || !this._cache.actions[key]) { this._cache.actions[key] = rpc.query({ route: "/web/action/load", params: { @@ -82,7 +82,7 @@ return core.Class.extend({ var views_descr = params.views_descr; var key = this._gen_key(model, views_descr, options || {}, context); - if (config.debug === 'assets' || !this._cache.views[key]) { + if (config.isDebug('assets') || !this._cache.views[key]) { // Don't load filters if already in cache var filters_key; if (options.load_filters) { @@ -137,7 +137,7 @@ return core.Class.extend({ */ load_filters: function (params) { var key = this._gen_key(params.modelName, params.actionId); - if (config.debug === 'assets' || !this._cache.filters[key]) { + if (config.isDebug('assets') || !this._cache.filters[key]) { this._cache.filters[key] = rpc.query({ args: [params.modelName, params.actionId], kwargs: { diff --git a/addons/web/static/src/js/tools/debug_manager_backend.js b/addons/web/static/src/js/tools/debug_manager_backend.js index 06cffa627bf..d8b462e5bd4 100644 --- a/addons/web/static/src/js/tools/debug_manager_backend.js +++ b/addons/web/static/src/js/tools/debug_manager_backend.js @@ -677,7 +677,7 @@ var RequestDetails = Widget.extend({ } }); -if (config.debug) { +if (config.isDebug()) { SystrayMenu.Items.push(DebugManager); WebClient.include({ diff --git a/addons/web/static/src/js/views/basic/basic_renderer.js b/addons/web/static/src/js/views/basic/basic_renderer.js index 24182fa1a16..6ffe35574bd 100644 --- a/addons/web/static/src/js/views/basic/basic_renderer.js +++ b/addons/web/static/src/js/views/basic/basic_renderer.js @@ -235,7 +235,7 @@ var BasicRenderer = AbstractRenderer.extend({ $node.tooltip({ title: function () { return qweb.render('WidgetLabel.tooltip', { - debug: config.debug, + debug: config.isDebug(), widget: widget, }); } diff --git a/addons/web/static/src/js/views/calendar/calendar_renderer.js b/addons/web/static/src/js/views/calendar/calendar_renderer.js index c66b7bcc665..192f8da21fe 100644 --- a/addons/web/static/src/js/views/calendar/calendar_renderer.js +++ b/addons/web/static/src/js/views/calendar/calendar_renderer.js @@ -187,7 +187,7 @@ return AbstractRenderer.extend({ this.color_map = {}; if (params.eventTemplate) { - this.qweb = new QWeb(session.debug, {_s: session.origin}); + this.qweb = new QWeb(config.isDebug(), {_s: session.origin}); this.qweb.add_template(utils.json_node_to_xml(params.eventTemplate)); } }, diff --git a/addons/web/static/src/js/views/form/form_renderer.js b/addons/web/static/src/js/views/form/form_renderer.js index e2249883f96..71cf5ecbd07 100644 --- a/addons/web/static/src/js/views/form/form_renderer.js +++ b/addons/web/static/src/js/views/form/form_renderer.js @@ -310,7 +310,7 @@ var FormRenderer = BasicRenderer.extend({ $button.tooltip({ title: function () { return qweb.render('WidgetButton.tooltip', { - debug: config.debug, + debug: config.isDebug(), state: self.state, node: node, }); @@ -491,7 +491,7 @@ var FormRenderer = BasicRenderer.extend({ this._registerModifiers(node, this.state, $button); // Display tooltip - if (config.debug || node.attrs.help) { + if (config.isDebug() || node.attrs.help) { this._addButtonTooltip(node, $button); } return $button; @@ -727,7 +727,7 @@ var FormRenderer = BasicRenderer.extend({ this._registerModifiers(node, this.state, $button); // Display tooltip - if (config.debug || node.attrs.help) { + if (config.isDebug() || node.attrs.help) { this._addButtonTooltip(node, $button); } @@ -998,7 +998,7 @@ var FormRenderer = BasicRenderer.extend({ var $widgets = self.$('.o_field_widget[name=' + widget.name + ']'); var $label = idForLabel ? self.$('.o_form_label[for=' + idForLabel + ']') : $(); $label = $label.eq($widgets.index(widget.$el)); - if (config.debug || widget.attrs.help || widget.field.help) { + if (config.isDebug() || widget.attrs.help || widget.field.help) { self._addFieldTooltip(widget, $label); } if (widget.attrs.widget === 'upgrade_boolean') { diff --git a/addons/web/static/src/js/views/kanban/kanban_record.js b/addons/web/static/src/js/views/kanban/kanban_record.js index 70afa09c066..b643b8355b6 100644 --- a/addons/web/static/src/js/views/kanban/kanban_record.js +++ b/addons/web/static/src/js/views/kanban/kanban_record.js @@ -245,7 +245,7 @@ var KanbanRecord = Widget.extend({ if (Widget) { widget = self._processWidget($field, field_name, Widget); self.subWidgets[field_name] = widget; - } else if (config.debug) { + } else if (config.isDebug()) { // the widget is not implemented $field.replaceWith($('', { text: _.str.sprintf(_t('[No widget %s]'), field_widget), diff --git a/addons/web/static/src/js/views/kanban/kanban_renderer.js b/addons/web/static/src/js/views/kanban/kanban_renderer.js index 9e86c857085..bd6c00a6802 100644 --- a/addons/web/static/src/js/views/kanban/kanban_renderer.js +++ b/addons/web/static/src/js/views/kanban/kanban_renderer.js @@ -3,6 +3,7 @@ odoo.define('web.KanbanRenderer', function (require) { var BasicRenderer = require('web.BasicRenderer'); var ColumnQuickCreate = require('web.kanban_column_quick_create'); +var config = require('web.config'); var core = require('web.core'); var KanbanColumn = require('web.KanbanColumn'); var KanbanRecord = require('web.KanbanRecord'); @@ -107,7 +108,7 @@ var KanbanRenderer = BasicRenderer.extend({ this._super.apply(this, arguments); this.widgets = []; - this.qweb = new QWeb(session.debug, {_s: session.origin}, false); + this.qweb = new QWeb(config.isDebug(), {_s: session.origin}, false); var templates = findInNode(this.arch, function (n) { return n.tag === 'templates';}); transformQwebTemplate(templates, state.fields); this.qweb.add_template(utils.json_node_to_xml(templates)); diff --git a/addons/web/static/src/js/views/list/list_renderer.js b/addons/web/static/src/js/views/list/list_renderer.js index f4468b38695..630cca9da91 100644 --- a/addons/web/static/src/js/views/list/list_renderer.js +++ b/addons/web/static/src/js/views/list/list_renderer.js @@ -309,7 +309,7 @@ var ListRenderer = BasicRenderer.extend({ return _.map(this.columns, function (column) { var $cell = $(''); - if (config.debug) { + if (config.isDebug()) { $cell.addClass(column.attrs.name); } if (column.attrs.name in aggregateValues) { @@ -742,7 +742,7 @@ var ListRenderer = BasicRenderer.extend({ $th.css({ textAlign: 'right' }); } - if (config.debug) { + if (config.isDebug()) { var fieldDescr = { field: field, name: name, diff --git a/addons/web/static/src/js/widgets/data_export.js b/addons/web/static/src/js/widgets/data_export.js index a913fcd0ea2..6903e7fea33 100644 --- a/addons/web/static/src/js/widgets/data_export.js +++ b/addons/web/static/src/js/widgets/data_export.js @@ -1,6 +1,7 @@ odoo.define('web.DataExport', function (require) { "use strict"; +var config = require('web.config'); var core = require('web.core'); var crash_manager = require('web.crash_manager'); var Dialog = require('web.Dialog'); @@ -240,11 +241,11 @@ var DataExport = Dialog.extend({ .find('.o_expand_parent') .toggleClass('fa-chevron-right fa-chevron-down') .next() - .after(QWeb.render('Export.TreeItems', {fields: records, debug: this.getSession().debug})); + .after(QWeb.render('Export.TreeItems', {fields: records, debug: config.isDebug()})); } else { this.$('.o_left_field_panel').empty().append( $('
').addClass('o_field_tree_structure') - .append(QWeb.render('Export.TreeItems', {fields: records, debug: this.getSession().debug})) + .append(QWeb.render('Export.TreeItems', {fields: records, debug: config.isDebug()})) ); } diff --git a/addons/web/static/tests/helpers/test_utils_mock.js b/addons/web/static/tests/helpers/test_utils_mock.js index ccb4d20959e..0d452ddd195 100644 --- a/addons/web/static/tests/helpers/test_utils_mock.js +++ b/addons/web/static/tests/helpers/test_utils_mock.js @@ -173,7 +173,7 @@ function addMockEnvironment(widget, params) { _.extend(config.device, params.config.device); } if ('debug' in params.config) { - config.debug = params.config.debug; + odoo.debug = params.config.debug; } } if ('translateParameters' in params) { diff --git a/addons/web/static/tests/views/form_tests.js b/addons/web/static/tests/views/form_tests.js index 7a357d9b345..4d8b751cc1a 100644 --- a/addons/web/static/tests/views/form_tests.js +++ b/addons/web/static/tests/views/form_tests.js @@ -3,7 +3,6 @@ odoo.define('web.form_tests', function (require) { var BasicModel = require('web.BasicModel'); var concurrency = require('web.concurrency'); -var config = require('web.config'); var core = require('web.core'); var fieldRegistry = require('web.field_registry'); var FormView = require('web.FormView'); @@ -6576,8 +6575,8 @@ QUnit.module('Views', { QUnit.test('display tooltips for buttons', async function (assert) { assert.expect(2); - var initialDebugMode = config.debug; - config.debug = true; + var initialDebugMode = odoo.debug; + odoo.debug = true; var form = await createView({ View: FormView, @@ -6607,7 +6606,7 @@ QUnit.module('Views', { "should have rendered a tooltip"); $secondButton.trigger($.Event('mouseleave')); - config.debug = initialDebugMode; + odoo.debug = initialDebugMode; form.destroy(); }); @@ -6936,8 +6935,8 @@ QUnit.module('Views', { QUnit.test('proper stringification in debug mode tooltip', async function (assert) { assert.expect(6); - var initialDebugMode = config.debug; - config.debug = true; + var initialDebugMode = odoo.debug; + odoo.debug = true; var form = await createView({ View: FormView, @@ -6970,7 +6969,7 @@ QUnit.module('Views', { assert.strictEqual($('.oe_tooltip_technical>li[data-item="widget"]')[0].lastChild.wholeText.trim(), 'Many2one (many2one)', "widget description should be correct"); - config.debug = initialDebugMode; + odoo.debug = initialDebugMode; form.destroy(); }); diff --git a/addons/web/static/tests/views/list_tests.js b/addons/web/static/tests/views/list_tests.js index fa62c6f3a25..ddf340f62df 100644 --- a/addons/web/static/tests/views/list_tests.js +++ b/addons/web/static/tests/views/list_tests.js @@ -3,7 +3,6 @@ odoo.define('web.list_tests', function (require) { var AbstractStorageService = require('web.AbstractStorageService'); var BasicModel = require('web.BasicModel'); -var config = require('web.config'); var core = require('web.core'); var basicFields = require('web.basic_fields'); var FormView = require('web.FormView'); @@ -1793,8 +1792,8 @@ QUnit.module('Views', { QUnit.test('display a tooltip on a field', async function (assert) { assert.expect(4); - var initialDebugMode = config.debug; - config.debug = false; + var initialDebugMode = odoo.debug; + odoo.debug = false; var list = await createView({ View: ListView, @@ -1813,7 +1812,7 @@ QUnit.module('Views', { list.$('th[data-name=foo]').trigger($.Event('mouseenter')); assert.strictEqual($('.tooltip .oe_tooltip_string').length, 0, "should not have rendered a tooltip"); - config.debug = true; + odoo.debug = true; // it is necessary to rerender the list so tooltips can be properly created await list.reload(); list.$('th[data-name=foo]').tooltip('show', false); @@ -1828,7 +1827,7 @@ QUnit.module('Views', { assert.strictEqual($('.oe_tooltip_technical>li[data-item="widget"]')[0].lastChild.wholeText.trim(), 'Button (toggle_button)', "widget description should be correct"); - config.debug = initialDebugMode; + odoo.debug = initialDebugMode; list.destroy(); }); diff --git a/addons/web_editor/static/src/js/common/ace.js b/addons/web_editor/static/src/js/common/ace.js index 8fc1d0ac1f9..dc2d78a53c7 100644 --- a/addons/web_editor/static/src/js/common/ace.js +++ b/addons/web_editor/static/src/js/common/ace.js @@ -2,12 +2,12 @@ odoo.define('web_editor.ace', function (require) { 'use strict'; var ajax = require('web.ajax'); +var config = require('web.config'); var concurrency = require('web.concurrency'); var core = require('web.core'); var Dialog = require('web.Dialog'); var Widget = require('web.Widget'); var localStorage = require('web.local_storage'); -var session = require('web.session'); var _t = core._t; @@ -716,8 +716,8 @@ var ViewEditor = Widget.extend({ _.each(this.$lists, function ($list, _type) { $list.toggleClass('d-none', type !== _type); }); this.$lists[type].change(); - this.$includeBundlesArea.toggleClass('d-none', this.currentType !== 'xml' || !session.debug); - this.$includeAllSCSSArea.toggleClass('d-none', this.currentType !== 'scss' || !session.debug); + this.$includeBundlesArea.toggleClass('d-none', this.currentType !== 'xml' || !config.isDebug()); + this.$includeAllSCSSArea.toggleClass('d-none', this.currentType !== 'scss' || !config.isDebug()); this.$includeAllSCSSArea.find('[data-value="restricted"]').toggleClass('d-none', this.options.defaultBundlesRestriction.length === 0); this.$formatButton.toggleClass('d-none', this.currentType !== 'xml'); }, @@ -824,7 +824,7 @@ var ViewEditor = Widget.extend({ })); } - if (!isSelected && session.debug && $elem.data('debug')) { + if (!isSelected && config.isDebug() && $elem.data('debug')) { $div.append($('', { text: ' (' + $elem.data('debug') + ')', class: 'ml4 small text-muted', diff --git a/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js b/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js index 7a1bb9c3f88..eb30811d8bb 100644 --- a/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js +++ b/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js @@ -19,7 +19,7 @@ var Wysiwyg = Widget.extend({ wysiwyg_blur: '_onWysiwygBlur', }, defaultOptions: { - codeview: config.debug, + codeview: config.isDebug(), recordInfo: { context: {}, }, diff --git a/addons/web_settings_dashboard/static/src/js/dashboard.js b/addons/web_settings_dashboard/static/src/js/dashboard.js index 9807a00d001..6e5c90cddb7 100644 --- a/addons/web_settings_dashboard/static/src/js/dashboard.js +++ b/addons/web_settings_dashboard/static/src/js/dashboard.js @@ -2,7 +2,6 @@ odoo.define('web_settings_dashboard', 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 Widget = require('web.Widget'); @@ -349,7 +348,6 @@ var DashboardShare = Widget.extend({ _onClickForceDemo: function (ev) { ev.preventDefault(); this.do_action('base.demo_force_install_action'); - config.debug = false; }, }); diff --git a/addons/website/static/src/js/menu/debug_manager.js b/addons/website/static/src/js/menu/debug_manager.js index 461fdf45fad..e932daa7edd 100644 --- a/addons/website/static/src/js/menu/debug_manager.js +++ b/addons/website/static/src/js/menu/debug_manager.js @@ -1,6 +1,7 @@ odoo.define('website.debugManager', function (require) { 'use strict'; +var config = require('web.config'); var DebugManager = require('web.DebugManager'); var websiteNavbarData = require('website.navbar'); @@ -9,7 +10,7 @@ var DebugManagerMenu = websiteNavbarData.WebsiteNavbar.include({ * @override */ start: function () { - if (odoo.debug) { + if (config.isDebug()) { new DebugManager(this).prependTo(this.$('.o_menu_systray')); } return this._super.apply(this, arguments); diff --git a/addons/website/static/src/js/widgets/theme.js b/addons/website/static/src/js/widgets/theme.js index db9ed334e5f..d5a2997031d 100644 --- a/addons/website/static/src/js/widgets/theme.js +++ b/addons/website/static/src/js/widgets/theme.js @@ -592,7 +592,7 @@ var ThemeCustomizeDialog = Dialog.extend({ var $loading = $('', {class: 'fa fa-refresh fa-spin'}); this.$modal.find('.modal-title').append($loading); - if (reload || config.debug === 'assets') { + if (reload || config.isDebug('assets')) { window.location.href = $.param.querystring('/website/theme_customize_reload', { href: window.location.href, enable: (enable || []).join(','),