Lines 1-4
Link Here
|
1 |
# |
1 |
# |
2 |
# RenewAll: class to manage status of "Renew All" transaction |
2 |
# RenewAll: class to manage status of "Renew All" transaction |
3 |
|
3 |
|
4 |
package ILS::Transaction::RenewAll; |
4 |
package ILS::Transaction::RenewAll; |
Lines 9-65
use warnings;
Link Here
|
9 |
use Sys::Syslog qw(syslog); |
9 |
use Sys::Syslog qw(syslog); |
10 |
|
10 |
|
11 |
use ILS::Item; |
11 |
use ILS::Item; |
12 |
use ILS::Transaction::Renew; |
|
|
13 |
|
12 |
|
14 |
use C4::Members; # GetMember |
13 |
use C4::Members qw( GetMember ); |
15 |
|
14 |
|
16 |
our @ISA = qw(ILS::Transaction::Renew); |
15 |
use base qw(ILS::Transaction::Renew); |
17 |
|
16 |
|
18 |
my %fields = ( |
17 |
my %fields = ( |
19 |
renewed => [], |
18 |
renewed => [], |
20 |
unrenewed => [], |
19 |
unrenewed => [], |
21 |
); |
20 |
); |
22 |
|
21 |
|
23 |
sub new { |
22 |
sub new { |
24 |
my $class = shift; |
23 |
my $class = shift; |
25 |
my $self = $class->SUPER::new(); |
24 |
my $self = $class->SUPER::new(); |
26 |
|
25 |
|
27 |
foreach my $element (keys %fields) { |
26 |
foreach my $element ( keys %fields ) { |
28 |
$self->{_permitted}->{$element} = $fields{$element}; |
27 |
$self->{_permitted}->{$element} = $fields{$element}; |
29 |
} |
28 |
} |
30 |
|
29 |
|
31 |
@{$self}{keys %fields} = values %fields; |
30 |
@{$self}{ keys %fields } = values %fields; |
32 |
return bless $self, $class; |
31 |
return bless $self, $class; |
33 |
} |
32 |
} |
34 |
|
33 |
|
35 |
sub do_renew_all { |
34 |
sub do_renew_all { |
36 |
my $self = shift; |
35 |
my $self = shift; |
37 |
my $patron = $self->{patron}; # SIP's patron |
36 |
my $patron = $self->{patron}; # SIP's patron |
38 |
my $borrower = GetMember('cardnumber'=>$patron->id); # Koha's patron |
37 |
my $borrower = GetMember( cardnumber => $patron->id ); # Koha's patron |
39 |
my $all_ok = 1; |
38 |
my $all_ok = 1; |
40 |
$self->{renewed} = []; |
39 |
$self->{renewed} = []; |
41 |
$self->{unrenewed} = []; |
40 |
$self->{unrenewed} = []; |
42 |
foreach my $itemx (@{$patron->{items}}) { |
41 |
foreach my $itemx ( @{ $patron->{items} } ) { |
43 |
my $item_id = $itemx->{barcode}; |
42 |
my $item_id = $itemx->{barcode}; |
44 |
my $item = new ILS::Item $item_id; |
43 |
my $item = ILS::Item->new($item_id); |
45 |
if (!defined($item)) { |
44 |
if ( !defined($item) ) { |
46 |
syslog("LOG_WARNING", |
45 |
syslog( |
47 |
"renew_all: Invalid item id '%s' associated with patron '%s'", |
46 |
'LOG_WARNING', |
48 |
$item_id, $patron->id); |
47 |
q|renew_all: Invalid item id '%s' associated with patron '%s'|, |
49 |
$all_ok = 0; |
48 |
$item_id, |
50 |
next; |
49 |
$patron->id |
51 |
} |
50 |
); |
52 |
$self->{item} = $item; |
51 |
|
53 |
$self->do_renew_for($borrower); |
52 |
# $all_ok = 0; Do net set as still ok |
54 |
if ($self->ok) { |
53 |
push @{ $self->unrenewed }, $item_id; |
55 |
$item->{due_date} = $self->{due}->clone(); |
54 |
next; |
56 |
push @{$self->renewed }, $item_id; |
55 |
} |
57 |
} else { |
56 |
$self->{item} = $item; |
58 |
push @{$self->{unrenewed}}, $item_id; |
57 |
$self->do_renew_for($borrower); |
59 |
} |
58 |
if ( $self->renewal_ok ) { |
60 |
} |
59 |
$item->{due_date} = $self->{due}; |
61 |
$self->ok($all_ok); |
60 |
push @{ $self->{renewed} }, $item_id; |
62 |
return $self; |
61 |
} |
|
|
62 |
else { |
63 |
push @{ $self->{unrenewed} }, $item_id; |
64 |
} |
65 |
$self->screen_msg(q{}); # clear indiv message |
66 |
} |
67 |
$self->ok($all_ok); |
68 |
return $self; |
63 |
} |
69 |
} |
64 |
|
70 |
|
65 |
1; |
71 |
1; |