From 6c423f10d5c57f1e16332eb83ec990afe4f3f980 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 7 Jul 2022 15:14:59 -0400 Subject: [PATCH] Bug 31120: Items will renew for zero ( 0 ) days if renewalperiod is blank/empty value If the rule renewalperiod is the blank empty string instead of being null/undefined or non-existant, Koha will interpret the renewal period as being zero days instead of falling back to the issuelength rule. It makes sense to me that a literal 0 here should make it renew for zero days even though that is nonsensical. Test Plan: 1) Delete all your rules 2) Create an all/all/all rules with an empty string for renewal base period 3) Note that renewing an item does nothing 4) Apply this patch 5) Restart all the things! 6) Renew again 7) Note the renewal uses the issuelength rule as intended Signed-off-by: Sally Signed-off-by: Martin Renvoize Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 9b010d99dfcb1a77a6ebd679aabafd819c6e67cf) Signed-off-by: Lucas Gass (cherry picked from commit e20879a8f5c9c13886c2f5073df379de28373c6d) Signed-off-by: Arthur Suzuki --- C4/Circulation.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 1ebc53a50e..1b05aab76a 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -3608,7 +3608,7 @@ sub CalcDateDue { my $loanlength = GetLoanLength( $borrower->{'categorycode'}, $itemtype, $branch ); - my $length_key = ( $isrenewal and defined $loanlength->{renewalperiod} ) + my $length_key = ( $isrenewal and defined $loanlength->{renewalperiod} and $loanlength->{renewalperiod} ne q{} ) ? qq{renewalperiod} : qq{issuelength}; -- 2.39.5