From 7ac45d00b6c2cabe3535ec31e901b2c6b0f6f191 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Fri, 15 Dec 2017 10:09:29 +0100 Subject: [PATCH] Bug 4319: (QA follow-up) Consistency in IsAvailableForItemLevelRequest [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 Signed-off-by: Jonathan Druart --- C4/Reserves.pm | 13 ++----------- t/db_dependent/Holds/DisallowHoldIfItemsAvailable.t | 7 +------ 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index f39dc3b57a..31fc97e3a9 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -1141,18 +1141,9 @@ sub IsAvailableForItemLevelRequest { } 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 diff --git a/t/db_dependent/Holds/DisallowHoldIfItemsAvailable.t b/t/db_dependent/Holds/DisallowHoldIfItemsAvailable.t index 3abba349c1..1a9edd882e 100755 --- a/t/db_dependent/Holds/DisallowHoldIfItemsAvailable.t +++ b/t/db_dependent/Holds/DisallowHoldIfItemsAvailable.t @@ -7,7 +7,7 @@ use C4::Items; use C4::Circulation; use Koha::IssuingRule; -use Test::More tests => 7; +use Test::More tests => 6; use t::lib::TestBuilder; use t::lib::Mocks; @@ -255,10 +255,5 @@ $rule->store(); $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; -- 2.39.5