@@ -, +, @@ preference - noissuescharge = $5 - IssuingInProcess = Don't prevent --- C4/SIP/ILS.pm | 14 ++++++++------ C4/SIP/ILS/Patron.pm | 8 +++++--- 2 files changed, 13 insertions(+), 9 deletions(-) --- a/C4/SIP/ILS.pm +++ a/C4/SIP/ILS.pm @@ -140,12 +140,14 @@ sub checkout { } elsif ($patron->expired) { $circ->screen_msg("Patron expired on " . output_pref({ dt => dt_from_string( $patron->dateexpiry_iso, 'iso' ), dateonly => 1 })); } elsif ($patron->fine_blocked) { - my $message = "Patron has fines"; - if ($account->{show_outstanding_amount}) { - my $patron_account = Koha::Account->new( { patron_id => $patron->{borrowernumber} }); - my $balance = $patron_account->balance; - if ($balance) { - $message .= (" - You owe " . Koha::Number::Price->new( $balance )->format({ with_symbol => 1}) . "."); + if ( !C4::Context->preference("IssuingInProcess") ) { + my $message = "Patron has fines"; + if ($account->{show_outstanding_amount}) { + my $patron_account = Koha::Account->new( { patron_id => $patron->{borrowernumber} }); + my $balance = $patron_account->balance; + if ($balance) { + $message .= (" - You owe " . Koha::Number::Price->new( $balance )->format({ with_symbol => 1}) . "."); + } } } $circ->screen_msg($message); --- a/C4/SIP/ILS/Patron.pm +++ a/C4/SIP/ILS/Patron.pm @@ -86,8 +86,10 @@ sub new { my $fine_blocked = 0; my $noissueschargeguarantees = C4::Context->preference('NoIssuesChargeGuarantees'); if( $fines_amount > $fee_limit ){ - $fine_blocked = 1; - $fines_msg .= " -- " . "Patron blocked by fines" if $fine_blocked; + if ( !C4::Context->preference("IssuingInProcess") ) { + $fine_blocked = 1; + $fines_msg .= " -- " . "Patron blocked by fines" if $fine_blocked; + } } elsif ( $noissueschargeguarantorswithguarantees ) { $fines_amount += $patron->relationships_debt({ include_guarantors => 1, only_this_guarantor => 0, include_this_patron => 0 }); $fine_blocked ||= $fines_amount > $noissueschargeguarantorswithguarantees; @@ -155,7 +157,7 @@ sub new { if ($_ ne 'NOTES' and $flags->{$_}->{message}) { $ilspatron{screen_msg} .= " -- " . $flags->{$_}->{message}; # show all but internal NOTES } - if ($flags->{$_}->{noissues}) { + if ($flags->{$_}->{noissues} && !C4::Context->preference("IssuingInProcess")) { foreach my $toggle (qw(charge_ok renew_ok recall_ok hold_ok inet)) { $ilspatron{$toggle} = 0; # if we get noissues, disable everything } --