From ee5d1c817b6b83d2852c2b5c1bc41bb8eb922f13 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 19 Jul 2023 12:31:14 +0100 Subject: [PATCH] Bug 32271: (QA follow-up) Correction to 'can_be_blank' logic The logic introducing the can_be_blank check into the monetary decimal format check was flawed and meant we were no longer checking decimal formatting in the majority of cases. This patch updates that so we pass the unit tests and correctly check any value passed that's not an empty string. Signed-off-by: Martin Renvoize --- Koha/CirculationRules.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Koha/CirculationRules.pm b/Koha/CirculationRules.pm index 97438f0e43..162395b3f6 100644 --- a/Koha/CirculationRules.pm +++ b/Koha/CirculationRules.pm @@ -384,7 +384,7 @@ sub set_rule { $rule_value = undef if defined $rule_value && $rule_value eq "" && !$can_be_blank; my $is_monetary = defined $kind_info->{is_monetary} ? $kind_info->{is_monetary} : 0; Koha::Exceptions::CirculationRule::NotDecimal->throw( name => $rule_name, value => $rule_value ) - if ( $is_monetary && !$can_be_blank && defined($rule_value) && $rule_value !~ /^\d+(\.\d{2})?$/ ); + if ( $is_monetary && defined($rule_value) && $rule_value ne '' && $rule_value !~ /^\d+(\.\d{2})?$/ ); for my $v ( $branchcode, $categorycode, $itemtype ) { $v = undef if $v and $v eq '*'; -- 2.41.0