|
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; |