Bug 14385: Squash of a lot of patches rebased
[koha.git] / opac / opac-reserve.pl
index 92989a2..67ac93a 100755 (executable)
@@ -140,11 +140,6 @@ if (($#biblionumbers < 0) && (! $query->param('place_reserve'))) {
 my $branch = $query->param('branch') || $patron->branchcode || C4::Context->userenv->{branch} || '' ;
 $template->param( branch => $branch );
 
-# Is the person allowed to choose their branch
-my $OPACChooseBranch = (C4::Context->preference("OPACAllowUserToChooseBranch")) ? 1 : 0;
-
-$template->param( choose_branch => $OPACChooseBranch);
-
 #
 #
 # Build hashes of the requested biblio(item)s and items.
@@ -240,7 +235,7 @@ if ( $query->param('place_reserve') ) {
         my $canreserve = 0;
 
         my $singleBranchMode = Koha::Libraries->search->count == 1;
-        if ( $singleBranchMode || !$OPACChooseBranch )
+        if ( $singleBranchMode || ! C4::Context->preference("OPACAllowUserToChooseBranch") )
         {    # single branch mode or disabled user choosing
             $branch = $patron->branchcode;
         }
@@ -387,6 +382,7 @@ unless ($noreserves) {
 my $biblioLoop = [];
 my $numBibsAvailable = 0;
 my $itemdata_enumchron = 0;
+my $itemdata_ccode = 0;
 my $anyholdable = 0;
 my $itemLevelTypes = C4::Context->preference('item-level_itypes');
 $template->param('item_level_itypes' => $itemLevelTypes);
@@ -447,6 +443,7 @@ foreach my $biblioNum (@biblionumbers) {
         $itemLoopIter->{homeBranchName} = $itemInfo->{homebranch};
         $itemLoopIter->{callNumber} = $itemInfo->{itemcallnumber};
         $itemLoopIter->{enumchron} = $itemInfo->{enumchron};
+        $itemLoopIter->{ccode} = $itemInfo->{ccode};
         $itemLoopIter->{copynumber} = $itemInfo->{copynumber};
         if ($itemLevelTypes) {
             $itemLoopIter->{translated_description} = $itemInfo->{translated_description};
@@ -525,7 +522,7 @@ foreach my $biblioNum (@biblionumbers) {
         my $policy_holdallowed = !$itemLoopIter->{already_reserved};
         $policy_holdallowed &&=
             IsAvailableForItemLevelRequest($itemInfo,$patron_unblessed) &&
-            CanItemBeReserved($borrowernumber,$itemNum)->{status} eq 'OK';
+            CanItemBeReserved( $borrowernumber, $itemNum )->{status} eq 'OK';
 
         if ($policy_holdallowed) {
             my $opac_hold_policy = Koha::IssuingRules->get_opacitemholds_policy( { item => $item, patron => $patron } );
@@ -551,10 +548,17 @@ foreach my $biblioNum (@biblionumbers) {
         if ($itemLoopIter->{enumchron}) {
             $itemdata_enumchron = 1;
         }
+    # Show collection when needed
+        if ($itemLoopIter->{ccode}) {
+            $itemdata_ccode = 1;
+        }
 
         push @{$biblioLoopIter{itemLoop}}, $itemLoopIter;
     }
-    $template->param( itemdata_enumchron => $itemdata_enumchron );
+    $template->param(
+        itemdata_enumchron => $itemdata_enumchron,
+        itemdata_ccode     => $itemdata_ccode,
+    );
 
     if ($numCopiesAvailable > 0) {
         $numBibsAvailable++;
@@ -585,7 +589,7 @@ foreach my $biblioNum (@biblionumbers) {
         }
     }
 
-    $biblioLoopIter{holdable} &&= CanBookBeReserved($borrowernumber,$biblioNum)->{status} eq 'OK';
+    $biblioLoopIter{holdable} &&= CanBookBeReserved( $borrowernumber, $biblioNum )->{status} eq 'OK';
 
     # For multiple holds per record, if a patron has previously placed a hold,
     # the patron can only place more holds of the same type. That is, if the