2 # RenewAll: class to manage status of "Renew All" transaction
4 package ILS::Transaction::RenewAll;
9 use Sys::Syslog qw(syslog);
13 use C4::Members qw( GetMember );
15 use parent qw(ILS::Transaction::Renew);
24 my $self = $class->SUPER::new();
26 foreach my $element ( keys %fields ) {
27 $self->{_permitted}->{$element} = $fields{$element};
30 @{$self}{ keys %fields } = values %fields;
31 return bless $self, $class;
36 my $patron = $self->{patron}; # SIP's patron
37 my $borrower = GetMember( cardnumber => $patron->id ); # Koha's patron
39 $self->{renewed} = [];
40 $self->{unrenewed} = [];
41 foreach my $itemx ( @{ $patron->{items} } ) {
42 my $item_id = $itemx->{barcode};
43 my $item = ILS::Item->new($item_id);
44 if ( !defined($item) ) {
47 q|renew_all: Invalid item id '%s' associated with patron '%s'|,
52 # $all_ok = 0; Do net set as still ok
53 push @{ $self->unrenewed }, $item_id;
56 $self->{item} = $item;
57 $self->do_renew_for($borrower);
58 if ( $self->renewal_ok ) {
59 $item->{due_date} = $self->{due};
60 push @{ $self->{renewed} }, $item_id;
63 push @{ $self->{unrenewed} }, $item_id;
65 $self->screen_msg(q{}); # clear indiv message