Bug 9578: avoid a search crash when attempting to sort results of invalid query
authorFridolyn SOMERS <fridolyn.somers@biblibre.com>
Fri, 22 Nov 2013 10:00:21 +0000 (11:00 +0100)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 18 Apr 2014 22:34:02 +0000 (22:34 +0000)
commit3b402d04e1a321afac02da84bae12f0342b776ad
treedbf434db59a81b5a15a113c670c45abc0913813b
parent70499239ba1780e872499d93fa624574d13fe7ff
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>
C4/Search.pm