summaryrefslogtreecommitdiff
path: root/odoo/addons/base
diff options
context:
space:
mode:
authorPriyanka Kakadiya <pka@odoo.com>2019-05-20 05:29:41 +0000
committerAaron Bohy <aab@odoo.com>2019-05-21 07:34:26 +0000
commit8ffedf4545e2ffb7ead07ce33f8fe94341ffd25c (patch)
tree2686f861d7c26c76af047f087f97d6be921f770b /odoo/addons/base
parent92393a6b8e64e99591ff4ead166e93caa8da2dcb (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.js6
-rw-r--r--odoo/addons/base/static/tests/base_settings_tests.js14
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();
});