X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FHelper%2FNumber.pm;h=39a69fc5f0c7a0308e5a5eb882c71fe885056713;hb=HEAD;hp=43b22781919d2538a4a4538d7582d25417f6a315;hpb=f5d11325588b7b7c7bed5a3aaeeb5f842ad18b17;p=kivitendo-erp.git diff --git a/SL/Helper/Number.pm b/SL/Helper/Number.pm index 43b227819..39a69fc5f 100644 --- a/SL/Helper/Number.pm +++ b/SL/Helper/Number.pm @@ -10,7 +10,6 @@ our @EXPORT_OK = qw( _format_number _round_number _format_total _round_total _parse_number - _format_number_units ); our %EXPORT_TAGS = (ALL => \@EXPORT_OK); @@ -52,56 +51,6 @@ sub _format_number { $amount; } -sub _format_number_units { - my ($amount, $places, $unit_from, $unit_to, %params) = @_; - - my $all_units = $params{all_units} //= SL::DB::Manager::Unit->get_all; - - if (!$unit_from || !$unit_to) { - return _format_number($amount, $places, %params); - } - - $amount *= $unit_from->factor; - - # unline AM::convertible_uits, this one doesn't sort by default - my @conv_units = rev_nsort_by { $_->factor // 0 } @{ $unit_from->convertible_units($all_units) }; - - if (!scalar @conv_units) { - return _format_number($amount, $places, %params) . " " . $unit_to->name; - } - - my @values; - my $num; - - for my $unit (@conv_units) { - my $last = $unit->name eq $unit_to->name; - if (!$last) { - $num = int($amount / $unit->factor); - $amount -= $num * $unit->factor; - } - - if ($last ? $amount : $num) { - push @values, { - unit => $unit->name, - amount => $last ? $amount / $unit->factor : $num, - places => $last ? $places : 0 - }; - } - - last if $last; - } - - if (!@values) { - push @values, { "unit" => $unit_to->name, - "amount" => 0, - "places" => 0 }; - } - - return join " ", map { - _format_number($_->{amount}, $_->{places}, %params), $_->{unit} - } @values; -} - sub _round_number { my ($amount, $places, $adjust) = @_;