- Affected Version
- WoltLab Suite 5.4
- Affected App
- WoltLab Suite Core
Hallo,
es geht hier um das JS-Modul UiSearchInput (WoltLabSuite/Core/Ui/Search/Input). Mir ist aufgefallen, dass Werte, die sich in der Variable this.excludedSearchValues befinden, nicht bei der zum Modul zugehörigen ObjectAction Klasse ankommen. Somit ist in der jeweiligen ObjectAction $this->parameters['data']['excludedSearchValues'] in getSearchResultList nicht gesetzt. Dadurch werden in der Suche nicht die in this.excludedSearchValues festgelegten Werte ausgeschlossen.
Ich habe das Ganze mit folgendem JS-Modul getestet:
define(['Core', 'WoltLabSuite/Core/Ui/Search/Input'], function(Core, UiSearchInput) {
"use strict";
class TestUserSearchInput extends UiSearchInput {
constructor(element , options) {
options = Core.extend({
ajax: {
className: "wcf\\data\\user\\UserAction"
}
}, options);
super(element, options);
//exclude username
this.addExcludedSearchValues("Test");
}
getParameters(value) {
const superParams = super.getParameters(value);
superParams.parameters.data.includeUserGroups = false;
console.log(superParams); //Test ist in excludedSearchValues nach wie vor vorhanden
return superParams;
}
search(value) {
super.search(value);
console.log(this.excludedSearchValues); //hier ebenso
}
}
return TestUserSearchInput;
});
Display More
In meiner Testumgebung existiert ein User mit dem Namen "Test". Binde ich das Modul ein und gebe in der zugehörigen Suchleiste "Test" ein, wird der besagte User dennoch vorgeschlagen. Das Problem konnte bisher nur im WSC 5.4 und unabhängig vom Browser feststellen.