diff --git a/reserve/request.pl b/reserve/request.pl index 161ad5faa4..a20ff80d17 100755 --- a/reserve/request.pl +++ b/reserve/request.pl @@ -432,22 +432,18 @@ foreach my $biblionumber (@biblionumbers) { $policy_holdallowed = 0; } - if (IsAvailableForItemLevelRequest($itemnumber) and - not $item->{cantreserve} and - CanItemBeReserved($borrowerinfo->{borrowernumber}, $itemnumber) ) { - if ( $policy_holdallowed ) { + if ( $policy_holdallowed && + !$item->{cantreserve} && + IsAvailableForItemLevelRequest($itemnumber) && + CanItemBeReserved($borrowerinfo->{borrowernumber}, $itemnumber) + ) { $item->{available} = 1; $num_available++; - } } elsif (C4::Context->preference( 'AllowHoldPolicyOverride' ) ) { + # If AllowHoldPolicyOverride is set, it should override EVERY restriction, not just branch item rules $item->{override} = 1; $num_override++; } - # If AllowHoldPolicyOverride is set, it should override EVERY restriction, not just branch item rules - if (C4::Context->preference( 'AllowHoldPolicyOverride' ) && !$item->{available} ) { - $item->{override} = 1; - $num_override++; - } # If none of the conditions hold true, then neither override nor available is set and the item cannot be checked