From f8ea837b53b9756809d2a740e02a0ea4ceadb58f Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 13 Jan 2022 12:10:30 -0300 Subject: [PATCH] Bug 29877: Make POST /holds handle maxreserves correctly The current implementation doesn't consider the following values for the syspref: undef and 0. The tests mistakenly didn't cover them. To test: 1. Apply the regression tests patch 2. Run: $ kshell k$ prove t/db_dependent/api/v1/holds.t => FAIL: Tests fail, obvious warnings about comparing undefined values too. 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests pass! 5. You can try on Postman as well => SUCCESS: Behavior is correct! 6. Sign off :-D Signed-off-by: Tomas Cohen Arazi Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Martin Renvoize Signed-off-by: Fridolin Somers --- Koha/REST/V1/Holds.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Koha/REST/V1/Holds.pm b/Koha/REST/V1/Holds.pm index 142668419e..acd4b78e20 100644 --- a/Koha/REST/V1/Holds.pm +++ b/Koha/REST/V1/Holds.pm @@ -169,7 +169,7 @@ sub add { ? C4::Reserves::CanItemBeReserved( $patron, $item ) : C4::Reserves::CanBookBeReserved( $patron_id, $biblio_id ); - if ( $patron->holds->count + 1 > C4::Context->preference('maxreserves') ) { + if ( C4::Context->preference('maxreserves') && $patron->holds->count + 1 > C4::Context->preference('maxreserves') ) { $can_place_hold->{status} = 'tooManyReserves'; } -- 2.39.5