diff options
| author | Richard Mathot <rim@odoo.com> | 2017-10-11 10:40:46 +0200 |
|---|---|---|
| committer | Richard Mathot <rim@odoo.com> | 2017-10-11 10:40:46 +0200 |
| commit | 66f7d393d3d6b0ac77cfde9172be86f77d9b63b1 (patch) | |
| tree | 8b5cca23c2f72db4ecf9e12f0b8bdf65929b002b /addons/web/static | |
| parent | 88a9980b0c0ba83938f3976f33b28c2bfb06ee75 (diff) | |
[FIX] web: debug mode tooltip
Display properly the content of context object instead of
[object Object].
Diffstat (limited to 'addons/web/static')
| -rw-r--r-- | addons/web/static/src/js/views/form/form_renderer.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/xml/base_common.xml | 4 | ||||
| -rw-r--r-- | addons/web/static/tests/views/form_tests.js | 31 |
3 files changed, 34 insertions, 3 deletions
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 ab491adc9b1..e5a0646dd5c 100644 --- a/addons/web/static/src/js/views/form/form_renderer.js +++ b/addons/web/static/src/js/views/form/form_renderer.js @@ -812,7 +812,7 @@ var FormRenderer = BasicRenderer.extend({ _.each(this.allFieldWidgets[this.state.id], function (widget) { var idForLabel = self.idsForLabels[widget.name]; var $label = idForLabel ? self.$('label[for=' + idForLabel + ']') : $(); - if (core.debug || widget.attrs.help || widget.field.help) { + if (config.debug || widget.attrs.help || widget.field.help) { self._addFieldTooltip(widget, $label); } if (widget.attrs.widget === 'upgrade_boolean') { diff --git a/addons/web/static/src/xml/base_common.xml b/addons/web/static/src/xml/base_common.xml index 3e0d6291dfd..252858b01f3 100644 --- a/addons/web/static/src/xml/base_common.xml +++ b/addons/web/static/src/xml/base_common.xml @@ -59,11 +59,11 @@ </li> <li t-if="widget.attrs.context || widget.field.context" data-item="context"> <span class="oe_tooltip_technical_title">Context:</span> - <t t-esc="widget.attrs.context || widget.field.context"/> + <t t-esc="widget.attrs.context || JSON.stringify(widget.field.context)"/> </li> <li t-if="widget.attrs.domain || widget.field.domain" data-item="domain"> <span class="oe_tooltip_technical_title">Domain:</span> - <t t-esc="widget.attrs.domain || widget.field.domain"/> + <t t-esc="widget.attrs.domain || JSON.stringify(widget.field.domain)"/> </li> <li t-if="widget.attrs.modifiers and widget.attrs.modifiers != '{}'" data-item="modifiers"> <span class="oe_tooltip_technical_title">Modifiers:</span> diff --git a/addons/web/static/tests/views/form_tests.js b/addons/web/static/tests/views/form_tests.js index 2b4c70a9399..f3f64b1b002 100644 --- a/addons/web/static/tests/views/form_tests.js +++ b/addons/web/static/tests/views/form_tests.js @@ -5920,5 +5920,36 @@ QUnit.module('Views', { form.destroy(); }); + + QUnit.test('proper context stringification in debug mode tooltip', function (assert) { + assert.expect(2); + + var initialDebugMode = config.debug; + config.debug = true; + + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '<form string="Partners">' + + '<sheet>' + + '<field name="product_id" context="{\'lang\': \'en_US\'}"/>' + + '</sheet>' + + '</form>', + }); + + var $field = form.$('[name="product_id"]'); + $field.tooltip('show', true); + $field.trigger($.Event('mouseenter')); + assert.strictEqual($('.oe_tooltip_technical>li[data-item="context"]').length, + 1, 'context should be present for this field'); + assert.strictEqual($('.oe_tooltip_technical>li[data-item="context"]')[0].lastChild.wholeText.trim(), + "{'lang': 'en_US'}", "context should be properly stringified"); + + config.debug = initialDebugMode; + form.destroy(); + }); + + }); }); |
