Fix for Bug 4449: AllowHoldPolicyOverride cannot over all policies

AllowHoldPolicyOverride should be able to override AllowOnShelfHolds, as well as other possible reasons for blocking a hold. Before, this only
allowed override of branch policies set in Circ Rules.

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
Ian Walls 2010-09-09 16:19:10 -04:00 committed by Chris Cormack
parent 5e8b078651
commit 00e019bfd7
1 changed files with 7 additions and 4 deletions

View File

@ -428,10 +428,7 @@ foreach my $biblionumber (@biblionumbers) {
}
if (IsAvailableForItemLevelRequest($itemnumber) and not $item->{cantreserve} and CanItemBeReserved($borrowerinfo->{borrowernumber}, $itemnumber) ) {
if ( not $policy_holdallowed and C4::Context->preference( 'AllowHoldPolicyOverride' ) ) {
$item->{override} = 1;
$num_override++;
} elsif ( $policy_holdallowed ) {
if ( $policy_holdallowed ) {
$item->{available} = 1;
$num_available++;
}
@ -439,6 +436,12 @@ foreach my $biblionumber (@biblionumbers) {
$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->{override} = 1;
$num_override++;
}
# If none of the conditions hold true, then neither override nor available is set and the item cannot be checked
# FIXME: move this to a pm