[Koha-patches] [PATCH] Bug 12323 [SIGNED OFF] - Acquisitions search results fixed in order of biblionumber

David Cook dcook at prosentient.com.au
Thu Jun 19 06:31:04 CEST 2014


From: Kyle M Hall <kyle at bywatersolutions.com>

The acquisitions search is exhibiting the same behavior as bug 11410.
Results are always fixed in order of biblionumber, among other possible
issues ( including the ampersand issue ).

Test Plan:
1) From an open basket, choose "Add to basket"
2) Run a search for "From an existing record"
3) Note the "View MARC" URLs are fixed in order of biblionumber
4) Apply this patch
5) Refresh the page
6) Note the results are no longer fixed in order of biblionumber

Signed-off-by: David Cook <dcook at prosentient.com.au>

Works as described.

I think the code could be a bit tidier, but I think it makes sense to
use buildQuery here. It'll detect CCL, CQL, and PQF queries, as well
as parsing a regular keyword search as one would expect when searching
the catalogue.

It also has the added bonus of performing relevance searching,
so long as QueryAutoTruncation is off, and so long as library staff
avoid using the "*" truncation wildcard (see bug 12430).

While there are simpler ways to fix this acq bug, I think this was
probably the best move, as it adds a bit to the consistency of what
librarians can expect from their search results.
---
 acqui/neworderbiblio.pl |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/acqui/neworderbiblio.pl b/acqui/neworderbiblio.pl
index 0e07066..5cff672 100755
--- a/acqui/neworderbiblio.pl
+++ b/acqui/neworderbiblio.pl
@@ -94,8 +94,17 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 
 # Searching the catalog.
 
-    # find results
-my ( $error, $marcresults, $total_hits ) = SimpleSearch( $query, $results_per_page * ( $page - 1 ), $results_per_page );
+my @operands = $query;
+my $QParser;
+$QParser = C4::Context->queryparser if (C4::Context->preference('UseQueryParser'));
+my $builtquery;
+if ($QParser) {
+    $builtquery = $query;
+} else {
+    my ( $builterror,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_desc,$stopwords_removed,$query_type);
+    ( $builterror,$builtquery,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_desc,$stopwords_removed,$query_type) = buildQuery(undef,\@operands);
+}
+my ( $error, $marcresults, $total_hits ) = SimpleSearch( $builtquery, $results_per_page * ( $page - 1 ), $results_per_page );
 
 if (defined $error) {
     $template->param(
-- 
1.7.7.4




More information about the Koha-patches mailing list