fix for 1610: Redirect to result when opac search returns only one item
authorJoshua Ferraro <jmf@liblime.com>
Tue, 18 Mar 2008 01:39:48 +0000 (21:39 -0400)
committerJoshua Ferraro <jmf@liblime.com>
Tue, 18 Mar 2008 01:41:01 +0000 (20:41 -0500)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
catalogue/search.pl
opac/opac-search.pl

index 8ea778d..01dd3fb 100755 (executable)
@@ -489,6 +489,12 @@ for (my $i=0;$i<@servers;$i++) {
         my $page = $cgi->param('page') || 0;
         my @newresults = searchResults( $query_desc,$hits,$results_per_page,$offset,@{$results_hashref->{$server}->{"RECORDS"}});
         $total = $total + $results_hashref->{$server}->{"hits"};
+        ## If there's just one result, redirect to the detail page
+        if ($total == 1) {         
+            my $biblionumber=@newresults[0]->{biblionumber};
+            print $cgi->redirect("/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber");
+            exit;
+        }
         if ($hits) {
             $template->param(total => $hits);
             my $limit_cgi_not_availablity = $limit_cgi;
index 41b655d..3c6275a 100755 (executable)
@@ -347,6 +347,12 @@ for (my $i=0;$i<=@servers;$i++) {
             @newresults = searchResults( $query_desc,$hits,$results_per_page,$offset,@{$results_hashref->{$server}->{"RECORDS"}});
         }
         $total = $total + $results_hashref->{$server}->{"hits"};
+        ## If there's just one result, redirect to the detail page
+        if ($total == 1) {         
+            my $biblionumber=@newresults[0]->{biblionumber};
+            print $cgi->redirect("/cgi-bin/koha/opac-detail.pl?biblionumber=$biblionumber");
+            exit;
+        }
         if ($hits) {
             $template->param(total => $hits);
             my $limit_cgi_not_availablity = $limit_cgi;