defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $item->{itemnumber}...) failed!"; # zero is OK, check defined
if ( $issue->{overdue} && $issue->{date_due} ) {
-# fix fine days
- my $debardate =
- _debar_user_on_return( $borrower, $item, $issue->{date_due}, $today );
- $messages->{Debarred} = $debardate if ($debardate);
+ # fix fine days
+ my ($debardate,$reminder) = _debar_user_on_return( $borrower, $item, $issue->{date_due}, $today );
+ if ($reminder){
+ $messages->{'PrevDebarred'} = $debardate;
+ } else {
+ $messages->{'Debarred'} = $debardate if $debardate;
+ }
+ # there's no overdue on the item but borrower had been previously debarred
+ } elsif ( $issue->{date_due} and $borrower->{'debarred'} ) {
+ my $borrower_debar_dt = dt_from_string( $borrower->{debarred} );
+ $borrower_debar_dt->truncate(to => 'day');
+ my $today_dt = $today->clone()->truncate(to => 'day');
+ if ( DateTime->compare( $borrower_debar_dt, $today_dt ) != -1 ) {
+ $messages->{'PrevDebarred'} = $borrower->{'debarred'};
+ }
}
}
expiration => $new_debar_dt->ymd(),
type => 'SUSPENSION',
});
-
+ # if borrower was already debarred but does not get an extra debarment
+ if ( $borrower->{debarred} eq Koha::Borrower::Debarments::IsDebarred($borrower->{borrowernumber}) ) {
+ return ($borrower->{debarred},1);
+ }
return $new_debar_dt->ymd();
}
}
$err{debarborrowernumber} = $borrower->{borrowernumber};
$err{debarname} = "$borrower->{firstname} $borrower->{surname}";
}
+ elsif ( $code eq 'PrevDebarred' ) {
+ $err{prevdebarred} = $messages->{'PrevDebarred'};
+ }
else {
die "Unknown error code $code"; # note we need all the (empty) elsif's above, or we die.
# This forces the issue of staying in sync w/ Circulation.pm
[% IF ( errmsgloo.debarred ) %]
<p class="problem"><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% errmsgloo.debarborrowernumber %]">[% errmsgloo.debarname %]([% errmsgloo.debarcardnumber %])</a> is now debarred until [% errmsgloo.debarred | $KohaDates %] </p>
[% END %]
+ [% IF ( errmsgloo.prevdebarred ) %]
+ <p class="problem"><b>Reminder: </b>Patron was earlier restricted until [% errmsgloo.prevdebarred | $KohaDates %]</p>
+ [% END %]
[% END %]
[% IF ( soundon ) %]
<audio src="[% interface %]/[% theme %]/sound/critical.ogg" autoplay="autoplay" autobuffer="autobuffer"></audio>