From 13497752bcd78a3b956dc312cf6d4cc356bd116f Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 13 Jul 2022 14:31:09 +0000 Subject: [PATCH] Bug 12225: Use ProcessOfflineIssue --- C4/Circulation.pm | 1 + C4/SIP/ILS/Transaction/Checkout.pm | 24 ++++++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index a18864dea7b..dc3a9587e41 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -124,6 +124,7 @@ BEGIN { DeleteOfflineOperation ProcessOfflineOperation ProcessOfflinePayment + ProcessOfflineIssue ); push @EXPORT_OK, '_GetCircControlBranch'; # This is wrong! } diff --git a/C4/SIP/ILS/Transaction/Checkout.pm b/C4/SIP/ILS/Transaction/Checkout.pm index c1c1e18eeb4..ab451e9a465 100644 --- a/C4/SIP/ILS/Transaction/Checkout.pm +++ b/C4/SIP/ILS/Transaction/Checkout.pm @@ -15,7 +15,7 @@ use CGI qw ( -utf8 ); use C4::SIP::ILS::Transaction; use C4::Context; -use C4::Circulation qw( AddIssue GetIssuingCharges CanBookBeIssued ); +use C4::Circulation qw( AddIssue GetIssuingCharges CanBookBeIssued ProcessOfflineIssue ); use C4::Members; use Koha::DateUtils qw( dt_from_string ); @@ -127,19 +127,23 @@ sub do_checkout { } } - if ( $no_block_due_date ) { - $overridden_duedate = $no_block_due_date; - $noerror = 1; - } - - unless ($noerror) { + if ( $noerror == 0 && !$no_block_due_date ) { $self->ok(0); return $self; } - # can issue - my $issue = AddIssue( $patron->unblessed, $barcode, $overridden_duedate, 0 ); - $self->{due} = $self->duedatefromissue($issue, $itemnumber); + if ( $no_block_due_date ) { + $overridden_duedate = $no_block_due_date; + ProcessOfflineIssue({ + cardnumber => $patron->cardnumber, + barcode => $barcode, + timestamp => $no_block_due_date, + }); + } else { + # can issue + my $issue = AddIssue( $patron->unblessed, $barcode, $overridden_duedate, 0 ); + $self->{due} = $self->duedatefromissue($issue, $itemnumber); + } $self->ok(1); return $self; -- 2.30.2