Bug 14673: Work around change to AddIssue return
Return from AddIssue used to be due date or undef. Now it is less straightforward returning am issue object if an issue row is created or undef. If the issue is a renewal undef is returned. As that case was not handled properly it caused the server site to crash the listener causing a communications error on the client. Signed-off-by: Frederic Demians <f.demians@tamil.fr> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> (cherry picked from commitb4967bf0ed) Signed-off-by: Frédéric Demians <f.demians@tamil.fr> (cherry picked from commit374f5f4a38) Signed-off-by: Liz Rea <wizzyrea@gmail.com>
This commit is contained in:
parent
744da17372
commit
c61e33e6f0
|
|
@ -8,6 +8,8 @@ use Carp;
|
|||
use strict;
|
||||
use warnings;
|
||||
use C4::Context;
|
||||
use C4::Circulation qw( GetItemIssue );
|
||||
use Koha::DateUtils;
|
||||
|
||||
my %fields = (
|
||||
ok => 0,
|
||||
|
|
@ -35,6 +37,24 @@ sub new {
|
|||
return bless $self, $class;
|
||||
}
|
||||
|
||||
sub duedatefromissue {
|
||||
my ($self, $iss, $itemnum) = @_;
|
||||
my $due_dt;
|
||||
if (defined $iss ) {
|
||||
$due_dt = dt_from_string( $iss->date_due() );
|
||||
} # renew from AddIssue ??
|
||||
else {
|
||||
# need to reread the issue to get due date
|
||||
$iss = GetItemIssue($itemnum);
|
||||
if ($iss && $iss->{date_due} ) {
|
||||
$due_dt = dt_from_string( $iss->{date_due} );
|
||||
}
|
||||
}
|
||||
return $due_dt;
|
||||
}
|
||||
|
||||
|
||||
|
||||
sub DESTROY {
|
||||
# be cool
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,14 +140,8 @@ sub do_checkout {
|
|||
# . "w/ \$borrower: " . Dumper($borrower)
|
||||
. "w/ C4::Context->userenv: " . Dumper(C4::Context->userenv);
|
||||
my $issue = AddIssue( $borrower, $barcode, $overridden_duedate, 0 );
|
||||
my $due_dt = dt_from_string( $issue->date_due() );
|
||||
if ($due_dt) {
|
||||
$self->{due} = $due_dt->clone();
|
||||
} else {
|
||||
$self->{due} = undef;
|
||||
}
|
||||
$self->{due} = $self->duedatefromissue($issue, $itemnumber);
|
||||
|
||||
#$self->{item}->due_date($due);
|
||||
$self->ok(1);
|
||||
return $self;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,12 +45,8 @@ sub do_renew_for {
|
|||
|
||||
}
|
||||
if ($renewokay){
|
||||
$self->{due} = undef;
|
||||
my $issue = AddIssue( $borrower, $self->{item}->id, undef, 0 );
|
||||
my $due_date = dt_from_string( $issue->date_due() );
|
||||
if ($due_date) {
|
||||
$self->{due} = $due_date;
|
||||
}
|
||||
$self->{due} = $self->duedatefromissue($issue, $self->{item}->{itemnumber});
|
||||
$self->renewal_ok(1);
|
||||
} else {
|
||||
$renewerror=~s/on_reserve/Item unavailable due to outstanding holds/;
|
||||
|
|
|
|||
Loading…
Reference in New Issue