From c604e6c9f6299155ffebc3a1906b1072d2be01b2 Mon Sep 17 00:00:00 2001 From: genevieve Date: Thu, 3 Sep 2015 16:40:00 -0400 Subject: [PATCH] Bug 14784 : Fix checkin message for debarred patrons If there is an overdue but finedays equals 0, then we have to see if the patron is debarred and if he was forever debarred. So we have to go through the same code a if it was a debarred patron with no overdue. --- C4/Circulation.pm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index a1d7815..bffbf91 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -2074,6 +2074,7 @@ sub AddReturn { } } + my $show_checkin_message = 0; # fix up the overdues in accounts... if ($borrowernumber) { my $fix = _FixOverduesOnReturn($borrowernumber, $item->{itemnumber}, $exemptfine, $dropbox); @@ -2088,8 +2089,15 @@ sub AddReturn { } else { $messages->{'Debarred'} = $debardate if $debardate; } + if (!$debardate && $borrower->{debarred}) { + $show_checkin_message = 1; + } # there's no overdue on the item but borrower had been previously debarred } elsif ( $issue->{date_due} and $borrower->{'debarred'} ) { + $show_checkin_message = 1; + } + + if ($show_checkin_message) { if ( $borrower->{debarred} eq "9999-12-31") { $messages->{'ForeverDebarred'} = $borrower->{'debarred'}; } else { @@ -2099,7 +2107,7 @@ sub AddReturn { if ( DateTime->compare( $borrower_debar_dt, $today_dt ) != -1 ) { $messages->{'PrevDebarred'} = $borrower->{'debarred'}; } - } + } } } -- 2.1.4