diff options
| author | Romain Derie <rde@odoo.com> | 2019-06-03 14:26:20 +0000 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2019-06-05 05:56:33 +0000 |
| commit | 72f7139f52a2702ced50730916fe3972bd2d8f09 (patch) | |
| tree | 2b9aa97807d03dad4c175339d8027f63fa90859f /addons/web/static/src | |
| parent | 73327db0656bfdd2bce2a69ca1c5c07ad3d3b763 (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')
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()})) ); } |
