From 3fcf6b15179cc87ae311a50741ae7c8705f8e4f2 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Thu, 1 Aug 2013 09:14:08 -0400 Subject: [PATCH] Bug 10656 - shelving locations not alpha on search Collection codes and shelving locations are displayed in the OPAC and staff client via GetAuthorisedValues which currently sorts results by "lib, lib_opac." Consequently if lib (the description for the staff client) doesn't match lib_opac (the description for the OPAC) sorting will appear to be nonsensical in the OPAC. GetAuthorisedValues can be passed an $opac parameter, so this should be used to switch how reuslts are sorted. This patch implements such a switch. To test, modify your collection code or shelving location authorized values so that lib and lib_opac do not match. Set your AdvancedSearchTypes system preference to display the modified authorized values and view the advanced search page in the OPAC and staff client. Sorting should be correct in each case according to the correct value (lib in the staff client, lib_opac in the OPAC). Signed-off-by: Nicole C. Engard Tested in staff and opac and it works perfectly! Signed-off-by: Jonathan Druart I did not test the patch but the change looks logical. --- C4/Koha.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Koha.pm b/C4/Koha.pm index ea8c2a6..1317006 100644 --- a/C4/Koha.pm +++ b/C4/Koha.pm @@ -1076,7 +1076,7 @@ sub GetAuthorisedValues { if(@where_strings > 0) { $query .= " WHERE " . join(" AND ", @where_strings); } - $query .= " GROUP BY lib ORDER BY category, lib, lib_opac"; + $query .= " GROUP BY lib ORDER BY category, " . ($opac ? "lib_opac, lib" : "lib, lib_opac"); my $sth = $dbh->prepare($query); -- 1.7.10.4