Merge branch 'new/enh/bug_5917' into kcmaster
[koha.git] / circ / returns.pl
index 01bd1ef..5a0cc09 100755 (executable)
@@ -242,12 +242,30 @@ if ($barcode) {
         $input{return_overdue} = 1 if ($duedate and $duedate lt $today->output('iso'));
         push( @inputloop, \%input );
 
-        my ( $od, $issue, $fines ) = GetMemberIssuesAndFines( $borrower->{'borrowernumber'} );
-        if ($fines > 0) {
-            $template->param( fines => sprintf("%.2f",$fines) );
-            $template->param( fineborrowernumber => $borrower->{'borrowernumber'} );
+        if ( C4::Context->preference("FineNotifyAtCheckin") ) {
+            my ( $od, $issue, $fines ) = GetMemberIssuesAndFines( $borrower->{'borrowernumber'} );
+            if ($fines > 0) {
+                $template->param( fines => sprintf("%.2f",$fines) );
+                $template->param( fineborrowernumber => $borrower->{'borrowernumber'} );
+            }
+        }
+        
+        if (C4::Context->preference("WaitingNotifyAtCheckin") ) {
+            #Check for waiting holds
+            my @reserves = GetReservesFromBorrowernumber($borrower->{'borrowernumber'});
+            my $waiting_holds;
+            foreach my $num_res (@reserves) {
+                if ( $num_res->{'found'} eq 'W' && $num_res->{'branchcode'} eq $userenv_branch) {
+                    $waiting_holds++;
+                }
+            } 
+            if ($waiting_holds > 0) {
+                $template->param(
+                    waiting_holds       => $waiting_holds,
+                    holdsborrowernumber => $borrower->{'borrowernumber'},
+                );
+            }
         }
-
     }
     elsif ( !$messages->{'BadBarcode'} ) {
         $input{duedate}   = 0;