@@ -, +, @@ --- circ/circulation.pl | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) --- a/circ/circulation.pl +++ a/circ/circulation.pl @@ -372,20 +372,18 @@ if (@$barcodes) { } } - if ( $error->{DEBT_GUARANTORS} ) { - $template_params->{DEBT_GUARANTORS} = $error->{DEBT_GUARANTORS}; + # Only some errors will block when performing forced onsite checkout, + # in any other case all errors block + my @blocking_error_codes = ($onsite_checkout and C4::Context->preference("OnSiteCheckoutsForce")) ? + qw( UNKNOWN_BARCODE ) : (keys %$error); + + foreach my $code ( @blocking_error_codes ) { + $template_params->{$code} = $error->{$code}; $template_params->{IMPOSSIBLE} = 1; $blocker = 1; } - if ( $error->{UNKNOWN_BARCODE} or not $onsite_checkout or not C4::Context->preference("OnSiteCheckoutsForce") ) { - delete $question->{'DEBT'} if ($debt_confirmed); - foreach my $impossible ( keys %$error ) { - $template_params->{$impossible} = $$error{$impossible}; - $template_params->{IMPOSSIBLE} = 1; - $blocker = 1; - } - } + delete $question->{'DEBT'} if ($debt_confirmed); if( $item and ( !$blocker or $force_allow_issue ) ){ my $confirm_required = 0; --