Bug 9578: avoid a search crash when attempting to sort results of invalid query
When searching with a sort (means not by relevance) and there is an error in Zebra connexion (server is down or query is wrong), you get the message : Error : Can't call method "sort" on an undefined value at /home/kohaadmin/src/C4/Search.pm line 405. This patch corrects by not performing sort if there are no no results. Steps to reproduce the error without patch: In OPAC go to Advanced Search Choose "Title" in first "Search for:" end enter "ccl=( and )" Display "More options" Set "Sort by" to "Title (A-Z)" Click "Search" at bootom of page Result: Error: Can't call method "sort" on an undefined value at /usr/share/kohaclone/C4/Search.pm line 430. After applying the patch, try that search again. This time, it should report not results found with out the error message. Alternative Test plan : - Set OPACdefaultSortField on something else than relevance - Perform a simple search with a wrong CCL query. For example : ccl=( and ) => You get the messge : No results found ... Patch behaves as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Adds another check to prevent a bad Zebra error message. Works as described, passes all tests and QA script. Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
70499239ba
commit
3b402d04e1
1 changed files with 1 additions and 1 deletions
|
@ -426,7 +426,7 @@ sub getRecords {
|
|||
warn "Ignoring unrecognized sort '$sort' requested" if $sort_by;
|
||||
}
|
||||
}
|
||||
if ($sort_by && !$scan) {
|
||||
if ( $sort_by && !$scan && $results[$i] ) {
|
||||
if ( $results[$i]->sort( "yaz", $sort_by ) < 0 ) {
|
||||
warn "WARNING sort $sort_by failed";
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue