X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FSIP%2FILS%2FTransaction%2FRenewAll.pm;h=7cdb4bb1c3746f1b694ebb9dc38264411e793edc;hb=827ef0e83c594d92c2fc387760b3f0e43adfe032;hp=a7128068968d235f63e0e3d402f93fcffd9d5e8a;hpb=4747ea7462c04770484386538b1594c1760bc75b;p=koha_fer diff --git a/C4/SIP/ILS/Transaction/RenewAll.pm b/C4/SIP/ILS/Transaction/RenewAll.pm index a712806896..7cdb4bb1c3 100644 --- a/C4/SIP/ILS/Transaction/RenewAll.pm +++ b/C4/SIP/ILS/Transaction/RenewAll.pm @@ -1,4 +1,4 @@ -# +# # RenewAll: class to manage status of "Renew All" transaction package ILS::Transaction::RenewAll; @@ -9,56 +9,63 @@ use warnings; use Sys::Syslog qw(syslog); use ILS::Item; -use ILS::Transaction::Renew; -use C4::Members; # GetMember +use C4::Members qw( GetMember ); -our @ISA = qw(ILS::Transaction::Renew); +use parent qw(ILS::Transaction::Renew); my %fields = ( - renewed => [], - unrenewed => [], + renewed => [], + unrenewed => [], ); sub new { - my $class = shift; - my $self = $class->SUPER::new(); - my $element; + my $class = shift; + my $self = $class->SUPER::new(); - foreach $element (keys %fields) { - $self->{_permitted}->{$element} = $fields{$element}; - } + foreach my $element ( keys %fields ) { + $self->{_permitted}->{$element} = $fields{$element}; + } - @{$self}{keys %fields} = values %fields; - return bless $self, $class; + @{$self}{ keys %fields } = values %fields; + return bless $self, $class; } sub do_renew_all { - my $self = shift; - my $patron = $self->{patron}; # SIP's patron - my $borrower = GetMember('cardnumber'=>$patron->id); # Koha's patron - my $all_ok = 1; - foreach my $itemx (@{$patron->{items}}) { - my $item_id = $itemx->{barcode}; - my $item = new ILS::Item $item_id; - if (!defined($item)) { - syslog("LOG_WARNING", - "renew_all: Invalid item id '%s' associated with patron '%s'", - $item_id, $patron->id); - $all_ok = 0; - next; - } - $self->{item} = $item; - $self->do_renew_for($borrower); - if ($self->ok) { - $item->{due_date} = $self->{due}; - push @{$self->renewed }, $item_id; - } else { - push @{$self->unrenewed}, $item_id; - } - } - $self->ok($all_ok); - return $self; + my $self = shift; + 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 = ILS::Item->new($item_id); + if ( !defined($item) ) { + syslog( + 'LOG_WARNING', + q|renew_all: Invalid item id '%s' associated with patron '%s'|, + $item_id, + $patron->id + ); + + # $all_ok = 0; Do net set as still ok + push @{ $self->unrenewed }, $item_id; + next; + } + $self->{item} = $item; + $self->do_renew_for($borrower); + if ( $self->renewal_ok ) { + $item->{due_date} = $self->{due}; + push @{ $self->{renewed} }, $item_id; + } + else { + push @{ $self->{unrenewed} }, $item_id; + } + $self->screen_msg(q{}); # clear indiv message + } + $self->ok($all_ok); + return $self; } 1;