@@ -, +, @@ out, alert flag is supressed for *any* reason --- C4/SIP/ILS.pm | 3 +-- C4/SIP/ILS/Transaction/Checkin.pm | 8 +++++++- 2 files changed, 8 insertions(+), 3 deletions(-) --- a/C4/SIP/ILS.pm +++ a/C4/SIP/ILS.pm @@ -207,7 +207,7 @@ sub checkin { my $data; if ($item) { - $data = $circ->do_checkin( $current_loc, $return_date, $cv_triggers_alert ); + $data = $circ->do_checkin( $current_loc, $return_date, $cv_triggers_alert, $checked_in_ok ); } else { $circ->alert(1); @@ -229,7 +229,6 @@ sub checkin { } elsif ( !$item->{patron} ) { if ( $checked_in_ok ) { # Mark checkin ok although book not checked out $circ->ok( 1 ); - $circ->alert( 0 ); syslog("LOG_DEBUG", "C4::SIP::ILS::Checkin - using checked_in_ok"); } else { $circ->screen_msg("Item not checked out"); --- a/C4/SIP/ILS/Transaction/Checkin.pm +++ a/C4/SIP/ILS/Transaction/Checkin.pm @@ -49,6 +49,7 @@ sub do_checkin { my $branch = shift; my $return_date = shift; my $cv_triggers_alert = shift; + my $checked_in_ok = shift; if (!$branch) { $branch = 'SIP2'; @@ -69,7 +70,12 @@ sub do_checkin { $debug and warn "do_checkin() calling AddReturn($barcode, $branch)"; my ($return, $messages, $issue, $borrower) = AddReturn($barcode, $branch, undef, dt_from_string($return_date)); - $self->alert(!$return); + if ($checked_in_ok){ + $debug and warn 'not raising alert when AddReturn() does not return a value for $return due to $checked_in_ok being set to true'; + } + else { + $self->alert(!$return); + } # ignoring messages: NotIssued, WasLost, WasTransfered # biblionumber, biblioitemnumber, itemnumber --