From 9b010d99dfcb1a77a6ebd679aabafd819c6e67cf 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 --- C4/Circulation.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index a18864dea7..5b57575f3b 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -3759,7 +3759,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