This add a function to check the reserve status, and add a check in IsAvailableForItemLevelRequest() to allow request on items that are waiting
&GetReserveCount
&GetReserveFee
&GetReserveInfo
-
+ &GetReserveStatus
+
&GetOtherReserves
&ModReserveFill
return (@transreserv);
}
+sub GetReserveStatus {
+ my ($itemnumber) = @_;
+
+ my $dbh = C4::Context->dbh;
+
+ my $itemstatus = $dbh->prepare("SELECT found FROM reserves WHERE itemnumber = ?");
+
+ $itemstatus->execute($itemnumber);
+ my ($found) = $itemstatus->fetchrow_array;
+ return $found;
+}
+
=item CheckReserves
($status, $reserve) = &CheckReserves($itemnumber);
$item->{wthdrawn} or
$notforloan_per_itemtype;
+
if (C4::Context->preference('AllowOnShelfHolds')) {
return $available_per_item;
} else {
- return ($available_per_item and $item->{onloan});
+ return ($available_per_item and ($item->{onloan} or GetReserveStatus($itemnumber) eq "W"));
}
}