[1] For consistency going back to IsItemOnHoldAndFound in this sub.
This call is used in the on_shelf_holds == 2 case too.
The routine will be refactored quite soon.
Adding the else branch for on_shelf_holds == 0 for more clarity.
[2] Removing the test for found==F in reserves. In Koha F is only used
when the hold is filled and moved to oldreserves.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
}
return $any_available ? 0 : 1;
+ } else { # on_shelf_holds == 0 "If any unavailable" (the description is rather cryptic and could still be improved)
+ return $item->{onloan} || IsItemOnHoldAndFound( $item->{itemnumber} );
}
-
- if ($item->{onloan}) {
- return 1;
- }
-
- if ( Koha::Holds->search({itemnumber => $item->{itemnumber},
- found => ['W', 'T']})->count ) {
- return 1;
- }
-
- return 0;
}
=head2 OnShelfHoldsAllowed
use C4::Circulation;
use Koha::IssuingRule;
-use Test::More tests => 7;
+use Test::More tests => 6;
use t::lib::TestBuilder;
use t::lib::Mocks;
$is = IsAvailableForItemLevelRequest( $item3, $borrower1);
is( $is, 1, "Item can be held, items in transit are not available" );
-Koha::Holds->find($hold->{reserve_id})->found('F')->store;
-
-$is = IsAvailableForItemLevelRequest( $item3, $borrower1);
-is( $is, 0, "Item is neither waiting nor in transit." );
-
# Cleanup
$schema->storage->txn_rollback;