Bug 33028: Throw exception if not passed a decimal number

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Martin Renvoize 2023-07-03 13:45:28 +01:00 committed by Tomas Cohen Arazi
parent 461c1931b9
commit d5b1041f43
No known key found for this signature in database
GPG Key ID: 0A272EA1B2F3C15F
1 changed files with 2 additions and 1 deletions

View File

@ -381,7 +381,8 @@ sub set_rule {
my $can_be_blank = defined $kind_info->{can_be_blank} ? $kind_info->{can_be_blank} : 1;
$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;
$rule_value = Koha::Number::Price->new($rule_value)->unformat if defined $rule_value && $is_monetary;
Koha::Exceptions::BadParameter->throw("set_rule expected decimal")
if ( $is_monetary && defined($rule_value) && $rule_value !~ /^\d+(\.\d{2})?$/ );
for my $v ( $branchcode, $categorycode, $itemtype ) {
$v = undef if $v and $v eq '*';