diff options
| author | Priyanka Kakadiya <pka@odoo.com> | 2019-05-20 05:29:41 +0000 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2019-05-21 07:34:26 +0000 |
| commit | 8ffedf4545e2ffb7ead07ce33f8fe94341ffd25c (patch) | |
| tree | 2686f861d7c26c76af047f087f97d6be921f770b /odoo/addons/base | |
| parent | 92393a6b8e64e99591ff4ead166e93caa8da2dcb (diff) | |
[FIX] sale: fix search issue in settings
Before this rev., we searched for 'label' tagname into the DOM, but
the fields labels are not always inside <label> (sometimes <span>).
However, they always have className 'o_form_label', so we use this
instead.
task 1961427
closes odoo/odoo#33487
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Diffstat (limited to 'odoo/addons/base')
| -rw-r--r-- | odoo/addons/base/static/src/js/res_config_settings.js | 6 | ||||
| -rw-r--r-- | odoo/addons/base/static/tests/base_settings_tests.js | 14 |
2 files changed, 11 insertions, 9 deletions
diff --git a/odoo/addons/base/static/src/js/res_config_settings.js b/odoo/addons/base/static/src/js/res_config_settings.js index 9514d431141..3095ff4dc4e 100644 --- a/odoo/addons/base/static/src/js/res_config_settings.js +++ b/odoo/addons/base/static/src/js/res_config_settings.js @@ -305,7 +305,7 @@ var BaseSettingRenderer = FormRenderer.extend({ module.settingView.find('h2').addClass('o_hidden'); module.settingView.find('.settingSearchHeader').addClass('o_hidden'); module.settingView.find('.o_settings_container').removeClass('mt16'); - var resultSetting = module.settingView.find("label:containsTextLike('" + self.searchText + "')"); + var resultSetting = module.settingView.find(".o_form_label:containsTextLike('" + self.searchText + "')"); if (resultSetting.length > 0) { resultSetting.each(function () { var settingBox = $(this).closest('.o_setting_box'); @@ -343,8 +343,8 @@ var BaseSettingRenderer = FormRenderer.extend({ } var match = text.search(new RegExp(word, "i")); word = text.substring(match, match + word.length); - var hilitedWord = "<span class='highlighter'>" + word + '</span>'; - return text.replace(word, hilitedWord); + var highlightedWord = "<span class='highlighter'>" + word + '</span>'; + return text.replace(word, highlightedWord); }, }); diff --git a/odoo/addons/base/static/tests/base_settings_tests.js b/odoo/addons/base/static/tests/base_settings_tests.js index eb9726b9fa6..fc8dc826efa 100644 --- a/odoo/addons/base/static/tests/base_settings_tests.js +++ b/odoo/addons/base/static/tests/base_settings_tests.js @@ -25,7 +25,7 @@ QUnit.module('base_settings_tests', { QUnit.module('BaseSetting'); QUnit.test('change setting on nav bar click in base settings', function (assert) { - assert.expect(4); + assert.expect(5); var form = createView({ View: BaseSettingsView, @@ -63,7 +63,7 @@ QUnit.module('base_settings_tests', { '<field name="foo"/>'+ '</div>'+ '<div class="o_setting_right_pane">'+ - '<label for="foo"/>'+ + '<span class="o_form_label">Foo</span>'+ '<div class="text-muted">'+ 'this is foo'+ '</div>'+ @@ -77,12 +77,14 @@ QUnit.module('base_settings_tests', { }); form.$("div[setting='project']").click(); - assert.strictEqual(form.$('.selected').attr('data-key'),"crm","crm setting selected"); - assert.strictEqual(form.$(".settings .app_settings_block").hasClass('o_hidden'),false,"project settings show"); + assert.strictEqual(form.$('.selected').attr('data-key'), "crm", "crm setting selected"); + assert.strictEqual(form.$(".settings .app_settings_block").hasClass('o_hidden'), false, "project settings show"); form.$('.searchInput').val('b').trigger('keyup'); - assert.strictEqual($('.highlighter').html(),"B","b word hilited"); + assert.strictEqual(form.$('.highlighter').html(), "B", "b word highlighted"); form.$('.searchInput').val('bx').trigger('keyup'); - assert.strictEqual(form.$('.notFound').hasClass('o_hidden'),false,"record not found message shown"); + assert.strictEqual(form.$('.notFound').hasClass('o_hidden'), false, "record not found message shown"); + form.$('.searchInput').val('f').trigger('keyup'); + assert.strictEqual(form.$('span.o_form_label .highlighter').html(), "F", "F word highlighted"); form.destroy(); }); |
