Bug 5675 : CheckReserves not honouring item level itemtypes preferences
[koha_fer] / opac / opac-user.pl
index 2c31ce7..e99e557 100755 (executable)
@@ -79,11 +79,13 @@ if ( $borr->{'amountoutstanding'} > 5 ) {
 if ( 5 >= $borr->{'amountoutstanding'} && $borr->{'amountoutstanding'} > 0 ) {
     $borr->{'amountoverzero'} = 1;
 }
+my $no_renewal_amt = C4::Context->preference( 'OPACFineNoRenewals' );
+$no_renewal_amt ||= 0;
 
-if ( $borr->{'amountoutstanding'} > C4::Context->preference( 'OPACFineNoRenewals' ) ) {
+if ( $borr->{amountoutstanding} > $no_renewal_amt ) {
     $borr->{'flagged'} = 1;
     $template->param(
-        renewal_blocked_fines => sprintf( "%.02f", C4::Context->preference( 'OPACFineNoRenewals' ) ),
+        renewal_blocked_fines => sprintf( '%.02f', $no_renewal_amt ),
     );
 }
 
@@ -112,6 +114,7 @@ my @overdues;
 my @issuedat;
 my $itemtypes = GetItemTypes();
 my ($issues) = GetPendingIssues($borrowernumber);
+my $canrenew = 0;
 if ($issues){
        foreach my $issue ( sort { $b->{'date_due'} cmp $a->{'date_due'} } @$issues ) {
                # check for reserves
@@ -140,7 +143,10 @@ if ($issues){
                # check if item is renewable
                my ($status,$renewerror) = CanBookBeRenewed( $borrowernumber, $issue->{'itemnumber'} );
                ($issue->{'renewcount'},$issue->{'renewsallowed'},$issue->{'renewsleft'}) = GetRenewCount($borrowernumber, $issue->{'itemnumber'});
-               $issue->{'status'} = $status && C4::Context->preference("OpacRenewalAllowed");
+        if($status && C4::Context->preference("OpacRenewalAllowed")){
+            $issue->{'status'} = $status;
+            $canrenew = 1;
+        }
                $issue->{'too_many'} = 1 if $renewerror and $renewerror eq 'too_many';
                $issue->{'on_reserve'} = 1 if $renewerror and $renewerror eq 'on_reserve';
 
@@ -179,7 +185,7 @@ if ($issues){
 }
 $template->param( ISSUES       => \@issuedat );
 $template->param( issues_count => $count );
-
+$template->param( canrenew     => $canrenew );
 $template->param( OVERDUES       => \@overdues );
 $template->param( overdues_count => $overdues_count );