X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FReserves.pm;h=7e42cebf0453434b6015079498f0d5127d2d6004;hb=e4172a4b844ac81b36ce303eb363fbe72ec2e210;hp=75ea16da038fe7bb8b0a01be99b3783f708e1379;hpb=fe3621812e80eef0e1c8eb3a47ae639990fd0f6d;p=koha.git diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 75ea16da03..7e42cebf04 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -101,7 +101,8 @@ BEGIN { &GetReserveCount &GetReserveFee &GetReserveInfo - + &GetReserveStatus + &GetOtherReserves &ModReserveFill @@ -755,6 +756,18 @@ sub GetReservesForBranch { 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); @@ -1349,10 +1362,11 @@ sub IsAvailableForItemLevelRequest { $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")); } }