Bug 9218: fix intranet cart email for non english templates
[koha.git] / opac / opac-detail.pl
index 7873f78..41de4fd 100755 (executable)
@@ -73,14 +73,14 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
 my $biblionumber = $query->param('biblionumber') || $query->param('bib') || 0;
 $biblionumber = int($biblionumber);
 
-my @itemsmatchingbiblionumber = GetItemsInfo($biblionumber);
-if (scalar @itemsmatchingbiblionumber >= 1) {
-    my @items2hide = GetHiddenItemnumbers(@itemsmatchingbiblionumber);
-
-    if (scalar @items2hide == scalar @itemsmatchingbiblionumber ) {
-        # biblionumber=0 effectively hides the biblio record
-        # since there is no such biblionumber.
-        $biblionumber = 0;
+my @all_items = GetItemsInfo($biblionumber);
+my @hiddenitems;
+if (scalar @all_items >= 1) {
+    push @hiddenitems, GetHiddenItemnumbers(@all_items);
+
+    if (scalar @hiddenitems == scalar @all_items ) {
+        print $query->redirect("/cgi-bin/koha/errors/404.pl"); # escape early
+        exit;
     }
 }
 
@@ -154,6 +154,7 @@ if ($session->param('busc')) {
 
         my $expanded_facet = $arrParamsBusc->{'expand'};
         my $branches = GetBranches();
+        my $itemtypes = GetItemTypes;
         my @servers;
         @servers = @{$arrParamsBusc->{'server'}} if $arrParamsBusc->{'server'};
         @servers = ("biblioserver") unless (@servers);
@@ -164,7 +165,7 @@ if ($session->param('busc')) {
         $sort_by[0] = $default_sort_by if !$sort_by[0] && defined($default_sort_by);
         my ($error, $results_hashref, $facets);
         eval {
-            ($error, $results_hashref, $facets) = getRecords($arrParamsBusc->{'query'},$arrParamsBusc->{'simple_query'},\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,$branches,$arrParamsBusc->{'query_type'},$arrParamsBusc->{'scan'});
+            ($error, $results_hashref, $facets) = getRecords($arrParamsBusc->{'query'},$arrParamsBusc->{'simple_query'},\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,$branches,$itemtypes,$arrParamsBusc->{'query_type'},$arrParamsBusc->{'scan'});
         };
         my $hits;
         my @newresults;
@@ -408,8 +409,6 @@ $template->param( 'ItemsIssued' => CountItemsIssued( $biblionumber ) );
 
 $template->param('OPACShowCheckoutName' => C4::Context->preference("OPACShowCheckoutName") );
 $template->param('OPACShowBarcode' => C4::Context->preference("OPACShowBarcode") );
-# change back when ive fixed request.pl
-my @all_items = GetItemsInfo( $biblionumber );
 
 # adding items linked via host biblios
 
@@ -432,9 +431,6 @@ foreach my $hostfield ( $record->field($analyticfield)) {
 
 my @items;
 
-# Getting items to be hidden
-my @hiddenitems = GetHiddenItemnumbers(@all_items);
-
 # Are there items to hide?
 my $hideitems;
 $hideitems = 1 if C4::Context->preference('hidelostitems') or scalar(@hiddenitems) > 0;
@@ -635,7 +631,10 @@ if (scalar(@itemloop) == 0 || scalar(@otheritemloop) == 0) {
 # TODO: The limit of 50 could be a syspref
 my $viewallitems = $query->param('viewallitems');
 if (scalar(@itemloop) >= 50 && !$viewallitems) {
-    $template->param('lotsofitems' => 1);
+    $template->param('lotsofholdingsitems' => 1);
+}
+if (scalar(@otheritemloop) >= 50 && !$viewallitems) {
+    $template->param('lotsofothersholdingsitems' => 1);
 }
 
 ## get notes and subjects from MARC record
@@ -933,19 +932,16 @@ if (C4::Context->preference("OPACShelfBrowser")) {
     my $starting_itemnumber = $query->param('shelfbrowse_itemnumber');
     if (defined($starting_itemnumber)) {
         $template->param( OpenOPACShelfBrowser => 1) if $starting_itemnumber;
-        my $nearby = GetNearbyItems($starting_itemnumber,3);
+        my $nearby = GetNearbyItems($starting_itemnumber);
 
         $template->param(
+            starting_itemnumber => $starting_itemnumber,
             starting_homebranch => $nearby->{starting_homebranch}->{description},
             starting_location => $nearby->{starting_location}->{description},
             starting_ccode => $nearby->{starting_ccode}->{description},
-            starting_itemnumber => $nearby->{starting_itemnumber},
-            shelfbrowser_prev_itemnumber => $nearby->{prev_itemnumber},
-            shelfbrowser_next_itemnumber => $nearby->{next_itemnumber},
-            shelfbrowser_prev_biblionumber => $nearby->{prev_biblionumber},
-            shelfbrowser_next_biblionumber => $nearby->{next_biblionumber},
-            PREVIOUS_SHELF_BROWSE => $nearby->{prev},
-            NEXT_SHELF_BROWSE => $nearby->{next},
+            shelfbrowser_prev_item => $nearby->{prev_item},
+            shelfbrowser_next_item => $nearby->{next_item},
+            shelfbrowser_items => $nearby->{items},
         );
 
         # in which tab shelf browser should open ?