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(','),
|