Bug 7454 Initialize return arrays in ILS/Transaction/RenewAll

Explicitly clear these arrays and update them directly.
In practice item numbers were already in them when called
so that more items were being returned than were actually
renewed (or failed)

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Functionally sound patch, and tested in production

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This commit is contained in:
Colin Campbell 2012-01-17 14:46:09 +00:00 committed by Jared Camins-Esakov
parent b0d8a39e68
commit 103c54b7fc
1 changed files with 4 additions and 2 deletions

View File

@ -38,6 +38,8 @@ sub do_renew_all {
my $patron = $self->{patron}; # SIP's patron
my $borrower = GetMember('cardnumber'=>$patron->id); # Koha's patron
my $all_ok = 1;
$self->{renewed} = [];
$self->{unrenewed} = [];
foreach my $itemx (@{$patron->{items}}) {
my $item_id = $itemx->{barcode};
my $item = new ILS::Item $item_id;
@ -52,9 +54,9 @@ sub do_renew_all {
$self->do_renew_for($borrower);
if ($self->ok) {
$item->{due_date} = $self->{due};
push @{$self->renewed }, $item_id;
push @{$self->{renewed} }, $item_id;
} else {
push @{$self->unrenewed}, $item_id;
push @{$self->{unrenewed}}, $item_id;
}
}
$self->ok($all_ok);