@@ -, +, @@ CanItemBeReserved --- C4/Reserves.pm | 5 +++++ 1 file changed, 5 insertions(+) --- a/C4/Reserves.pm +++ a/C4/Reserves.pm @@ -298,6 +298,7 @@ sub CanBookBeReserved{ if ($canReserve->{status} eq 'OK') { #We can reserve this Item! } @RETURNS { status => OK }, if the Item can be reserved. + { status => onShelfHoldsNotAllowed }, if onShelfHoldsAllowed parameter and item availability combination doesn't allow holds. { status => ageRestricted }, if the Item is age restricted for this borrower. { status => damaged }, if the Item is damaged. { status => cannotReserveFromOtherBranches }, if syspref 'canreservefromotherbranches' is OK. @@ -330,6 +331,10 @@ sub CanItemBeReserved { if ( $item->{damaged} && !C4::Context->preference('AllowHoldsOnDamagedItems') ); + # Check for item on shelves and OnShelfHoldsAllowed + return { status => 'onShelfHoldsNotAllowed' } + unless ( IsAvailableForItemLevelRequest($item,$borrower) ); + # Check for the age restriction my ( $ageRestriction, $daysToAgeRestriction ) = C4::Circulation::GetAgeRestriction( $biblio->biblioitem->agerestriction, $borrower ); --