diff options
author | ivan <ivan> | 2011-04-10 17:07:26 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-04-10 17:07:26 +0000 |
commit | 8a76ec0177f2622ef393eba89f65c123a796502f (patch) | |
tree | 38e5ff567377190883894fbbf9132900ab3b33de /FS | |
parent | 70504e07338649649d0a45e9fafd1ba7c67e78c1 (diff) |
fix rounding of minute-granularity CDRs, RT#12101
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/cdr.pm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm index b7d78766e..65ca50b29 100644 --- a/FS/FS/cdr.pm +++ b/FS/FS/cdr.pm @@ -552,8 +552,7 @@ sub export_formats { my $conf = new FS::Conf; my $date_format = $conf->config('date_format') || '%m/%d/%Y'; - # This is now smarter, and shows the call duration in the - # largest units that accurately reflect the granularity. + # call duration in the largest units that accurately reflect the granularity my $duration_sub = sub { my($cdr, %opt) = @_; my $sec = $opt{seconds} || $cdr->billsec; @@ -562,7 +561,9 @@ sub export_formats { return '1 call'; } elsif ( $opt{granularity} == 60 ) {#full minutes - return sprintf("%.0fm",$sec/60); + my $min = int($sec/60); + $min++ if $sec%60; + return $min.'m'; } else { #anything else return sprintf("%dm %ds", $sec/60, $sec%60); |