2 # RenewAll: class to manage status of "Renew All" transaction
4 package ILS::Transaction::RenewAll;
9 use Sys::Syslog qw(syslog);
12 use ILS::Transaction::Renew;
14 use C4::Members; # GetMember
16 our @ISA = qw(ILS::Transaction::Renew);
25 my $self = $class->SUPER::new();
27 foreach my $element (keys %fields) {
28 $self->{_permitted}->{$element} = $fields{$element};
31 @{$self}{keys %fields} = values %fields;
32 return bless $self, $class;
37 my $patron = $self->{patron}; # SIP's patron
38 my $borrower = GetMember('cardnumber'=>$patron->id); # Koha's patron
40 $self->{renewed} = [];
41 $self->{unrenewed} = [];
42 foreach my $itemx (@{$patron->{items}}) {
43 my $item_id = $itemx->{barcode};
44 my $item = new ILS::Item $item_id;
45 if (!defined($item)) {
47 "renew_all: Invalid item id '%s' associated with patron '%s'",
48 $item_id, $patron->id);
52 $self->{item} = $item;
53 $self->do_renew_for($borrower);
55 $item->{due_date} = $self->{due}->clone();
56 push @{$self->renewed }, $item_id;
58 push @{$self->{unrenewed}}, $item_id;