2 # RenewAll: class to manage status of "Renew All" transaction
4 package C4
::SIP
::ILS
::Transaction
::RenewAll
;
9 use C4
::SIP
::Sip
qw(syslog);
11 use C4
::SIP
::ILS
::Item
;
15 use parent
qw(C4::SIP::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 = Koha
::Patrons
->find( { cardnumber
=> $patron->id } )->unblessed; # Koha's patron
39 $self->{renewed
} = [];
40 $self->{unrenewed
} = [];
41 foreach my $itemx ( @
{ $patron->{items
} } ) {
42 my $item_id = $itemx->{barcode
};
43 my $item = C4
::SIP
::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