$dob and $dob =~ s/-//g; # YYYYMMDD
my $dexpiry = $kp->{dateexpiry};
$dexpiry and $dexpiry =~ s/-//g; # YYYYMMDD
- my $fines_amount = $patron->account->balance;
+
+ my $fines_amount = $flags->{CHARGES}->{amount}; # This "amount" is the negative balance or the one of the guarantees
$fines_amount = ($fines_amount and $fines_amount > 0) ? $fines_amount : 0;
+ my $guarantees_fines_amount = $flags->{CHARGES_GUARANTEES} ? $flags->{CHARGES_GUARANTEES}->{amount} : 0;
+ $fines_amount += $guarantees_fines_amount;
+
my $fee_limit = _fee_limit();
my $fine_blocked = $fines_amount > $fee_limit;
my $circ_blocked =( C4::Context->preference('OverduesBlockCirc') ne "noblock" && defined $flags->{ODUES}->{itemlist} ) ? 1 : 0;
# FIXME: populate fine_items recall_items
$ilspatron{unavail_holds} = _get_outstanding_holds($kp->{borrowernumber});
- $ilspatron{items} = $patron->pending_checkouts->unblessed;
+
+ my $pending_checkouts = $patron->pending_checkouts;
+ my @barcodes;
+ while ( my $c = $pending_checkouts->next ) {
+ push @barcodes, { barcode => $c->item->barcode };
+ }
+ $ilspatron{items} = \@barcodes;
+
$self = \%ilspatron;
$debug and warn Dumper($self);
syslog("LOG_DEBUG", "new ILS::Patron(%s): found patron '%s'", $patron_id,$self->{id});
if ( $self->{fines} ) {
return $self->{fines};
}
- return;
+ return 0;
}
sub fines_amount {
| contactname | mediumtext | YES | | NULL | |
| contactfirstname | text | YES | | NULL | |
| contacttitle | text | YES | | NULL | |
-| guarantorid | int(11) | YES | MUL | NULL | |
| borrowernotes | mediumtext | YES | | NULL | |
| relationship | varchar(100) | YES | | NULL | |
| ethnicity | varchar(50) | YES | | NULL | |