From f85a54257d7bac46d3df7daba60a4242381a3107 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Wed, 25 Apr 2018 09:22:36 +0200 Subject: [PATCH] [FIX] web: BasicRenderer: button's name attr in DOM Rev. 374af56 changed the way 'button' nodes are rendered in basic views (form, list, kanban). As a consequence, their 'name' attribute wasn't transmitted to the produced html elements anymore. However, this attribute is very convenient to debug views, and to write selectors in tests. For instance, it broke the test added by rev. 8d17a2a once forwardported in master. This commit reverts 1ce5bea. --- addons/web/static/src/js/views/basic/basic_renderer.js | 2 +- addons/web/static/tests/views/form_tests.js | 4 +++- odoo/addons/base/static/tests/base_settings_tests.js | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) 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 c05d467052e..16507184915 100644 --- a/addons/web/static/src/js/views/basic/basic_renderer.js +++ b/addons/web/static/src/js/views/basic/basic_renderer.js @@ -529,7 +529,7 @@ var BasicRenderer = AbstractRenderer.extend({ */ _renderButtonFromNode: function (node, options) { var btnOptions = { - attrs: _.omit(node.attrs, 'icon', 'string', 'type', 'name', 'attrs', 'modifiers', 'options'), + attrs: _.omit(node.attrs, 'icon', 'string', 'type', 'attrs', 'modifiers', 'options'), icon: node.attrs.icon, }; if (options && options.extraClass) { diff --git a/addons/web/static/tests/views/form_tests.js b/addons/web/static/tests/views/form_tests.js index 4468897010f..760586cc6fb 100644 --- a/addons/web/static/tests/views/form_tests.js +++ b/addons/web/static/tests/views/form_tests.js @@ -987,7 +987,7 @@ QUnit.module('Views', { }); QUnit.test('buttons in form view', function (assert) { - assert.expect(7); + assert.expect(8); var rpcCount = 0; @@ -1018,6 +1018,8 @@ QUnit.module('Views', { assert.strictEqual(form.$('.o_form_statusbar button').length, 2, "should have 2 buttons in the statusbar"); + assert.strictEqual(form.$('button[name="post"]').length, 1, + "'name' attribute of buttons is transmitted to the rendered html element"); assert.strictEqual(form.$('.o_form_statusbar button:visible').length, 1, "should have only 1 visible button in the statusbar"); diff --git a/odoo/addons/base/static/tests/base_settings_tests.js b/odoo/addons/base/static/tests/base_settings_tests.js index 5758ba6339d..e4e5dc0527d 100644 --- a/odoo/addons/base/static/tests/base_settings_tests.js +++ b/odoo/addons/base/static/tests/base_settings_tests.js @@ -125,7 +125,7 @@ QUnit.module('base_settings_tests', { }); actionManager.doAction(1); - actionManager.$('button:first').click(); + actionManager.$('button[name="4"]').click(); $('.o_control_panel .breadcrumb li a').click(); assert.verifySteps([ 'load_views', // initial setting action