Bug 25232: Add ability to specify multiple notforloan values to skip
Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
465e5562fc
commit
326c0159a0
3 changed files with 7 additions and 4 deletions
|
@ -794,8 +794,8 @@ sub CheckReserves {
|
|||
# if item is not for loan it cannot be reserved either.....
|
||||
# except where items.notforloan < 0 : This indicates the item is holdable.
|
||||
|
||||
my $SkipHoldTrapOnNotForLoanValue = C4::Context->preference('SkipHoldTrapOnNotForLoanValue');
|
||||
return if $SkipHoldTrapOnNotForLoanValue && $notforloan_per_item eq $SkipHoldTrapOnNotForLoanValue;
|
||||
my @SkipHoldTrapOnNotForLoanValue = split( '|', C4::Context->preference('SkipHoldTrapOnNotForLoanValue') );
|
||||
return if @SkipHoldTrapOnNotForLoanValue && grep( $notforloan_per_item, @SkipHoldTrapOnNotForLoanValue );
|
||||
|
||||
my $dont_trap = C4::Context->preference('TrapHoldsOnOrder') ? ($notforloan_per_item > 0) : ($notforloan_per_item && 1 );
|
||||
return if $dont_trap or $notforloan_per_itemtype;
|
||||
|
|
|
@ -527,10 +527,11 @@ Circulation:
|
|||
no: "Don't trap"
|
||||
- items that are not for loan but holdable ( notforloan < 0 ) to fill holds.
|
||||
-
|
||||
- Never trap items with a 'not for loan' value of
|
||||
- Never trap items with 'not for loan' values of
|
||||
- pref: SkipHoldTrapOnNotForLoanValue
|
||||
class: integer
|
||||
- to fill holds.
|
||||
- "(list of not for loan values separated with a pipe '|')"
|
||||
-
|
||||
- pref: HoldsAutoFill
|
||||
choices:
|
||||
|
|
|
@ -7,7 +7,7 @@ use t::lib::TestBuilder;
|
|||
|
||||
use C4::Context;
|
||||
|
||||
use Test::More tests => 65;
|
||||
use Test::More tests => 66;
|
||||
use MARC::Record;
|
||||
|
||||
use C4::Biblio;
|
||||
|
@ -365,6 +365,8 @@ t::lib::Mocks::mock_preference( 'TrapHoldsOnOrder', 1 );
|
|||
ok( defined( ( CheckReserves($itemnumber) )[1] ), "Hold is trapped for item that is not for loan but holdable ( notforloan < 0 )" );
|
||||
t::lib::Mocks::mock_preference( 'SkipHoldTrapOnNotForLoanValue', '-1' );
|
||||
ok( !defined( ( CheckReserves($itemnumber) )[1] ), "Hold cannot be trapped for item with notforloan value matching SkipHoldTrapOnNotForLoanValue" );
|
||||
t::lib::Mocks::mock_preference( 'SkipHoldTrapOnNotForLoanValue', '-1|1' );
|
||||
ok( !defined( ( CheckReserves($itemnumber) )[1] ), "Hold cannot be trapped for item with notforloan value matching SkipHoldTrapOnNotForLoanValue" );
|
||||
$hold->delete();
|
||||
|
||||
# Regression test for bug 9532
|
||||
|
|
Loading…
Reference in a new issue