use C4::Overdues;
use C4::Debug;
use Koha::DateUtils;
+use Date::Calc qw/Today Date_to_Days/;
# use Data::Dumper;
my $MAXIMUM_NUMBER_OF_RESERVES = C4::Context->preference("maxreserves");
# get borrower information ....
my ( $borr ) = GetMemberDetails( $borrowernumber );
+# check if this user can place a reserve, -1 means use sys pref, 0 means dont block, 1 means block
+if ( $borr->{'BlockExpiredPatronOpacActions'} ) {
+
+ if ( $borr->{'is_expired'} ) {
+
+ # cannot reserve, their card has expired and the rules set mean this is not allowed
+ $template->param( message => 1, expired_patron => 1 );
+ get_out( $query, $cookie, $template->output );
+ }
+}
+
# Pass through any reserve charge
if ($borr->{reservefee} > 0){
$template->param( RESERVE_CHARGE => sprintf("%.2f",$borr->{reservefee}));
}
# Compute the priority rank.
- my ( $rank, $reserves ) =
- GetReservesFromBiblionumber( $biblioNumber, 1 );
+ my $reserves = GetReservesFromBiblionumber({ biblionumber => $biblioNumber, all_dates => 1 });
+ my $rank = scalar( @$reserves );
$biblioData->{reservecount} = 1; # new reserve
foreach my $res (@{$reserves}) {
my $found = $res->{found};
# change the background color.
my $issues= GetItemIssue($itemNum);
if ( $issues->{'date_due'} ) {
- $itemLoopIter->{dateDue} = format_sqlduedatetime($issues->{date_due});
+ $itemLoopIter->{dateDue} = output_pref({ dt => dt_from_string($issues->{date_due}, 'sql'), as_due_date => 1 });
$itemLoopIter->{backgroundcolor} = 'onloan';
}
# checking reserve
- my ($reservedate,$reservedfor,$expectedAt,undef,$wait) = GetReservesFromItemnumber($itemNum,1); #with alldates parameter include future item level holds and waits
+ my ($reservedate,$reservedfor,$expectedAt,undef,$wait) = GetReservesFromItemnumber($itemNum);
my $ItemBorrowerReserveInfo = GetMemberDetails( $reservedfor, 0);
# the item could be reserved for this borrower vi a host record, flag this
$itemLoopIter->{ReservedForFirstname} = $ItemBorrowerReserveInfo->{'firstname'};
$itemLoopIter->{ExpectedAtLibrary} = $expectedAt;
#waiting status
- $itemLoopIter->{waitingdate} = format_date($wait) if $wait;
+ $itemLoopIter->{waitingdate} = $wait;
}
$itemLoopIter->{notforloan} = $itemInfo->{notforloan};