summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorRomain Derie <rde@odoo.com>2019-06-03 14:26:20 +0000
committerJeremy Kersten <jke@odoo.com>2019-06-05 05:56:33 +0000
commit72f7139f52a2702ced50730916fe3972bd2d8f09 (patch)
tree2b9aa97807d03dad4c175339d8027f63fa90859f /addons/web/static/src
parent73327db0656bfdd2bce2a69ca1c5c07ad3d3b763 (diff)
[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
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/apps.js5
-rw-r--r--addons/web/static/src/js/chrome/action_manager_act_window.js2
-rw-r--r--addons/web/static/src/js/chrome/loading.js4
-rw-r--r--addons/web/static/src/js/chrome/user_menu.js3
-rw-r--r--addons/web/static/src/js/core/ajax.js2
-rw-r--r--addons/web/static/src/js/core/session.js2
-rw-r--r--addons/web/static/src/js/fields/basic_fields.js5
-rw-r--r--addons/web/static/src/js/services/config.js18
-rw-r--r--addons/web/static/src/js/services/core.js4
-rw-r--r--addons/web/static/src/js/services/data_manager.js6
-rw-r--r--addons/web/static/src/js/tools/debug_manager_backend.js2
-rw-r--r--addons/web/static/src/js/views/basic/basic_renderer.js2
-rw-r--r--addons/web/static/src/js/views/calendar/calendar_renderer.js2
-rw-r--r--addons/web/static/src/js/views/form/form_renderer.js8
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_record.js2
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_renderer.js3
-rw-r--r--addons/web/static/src/js/views/list/list_renderer.js4
-rw-r--r--addons/web/static/src/js/widgets/data_export.js5
18 files changed, 44 insertions, 35 deletions
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($('<span>', {
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 = $('<td>');
- 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(
$('<div/>').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()}))
);
}