From 8a76ec0177f2622ef393eba89f65c123a796502f Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 10 Apr 2011 17:07:26 +0000 Subject: fix rounding of minute-granularity CDRs, RT#12101 --- FS/FS/cdr.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'FS') 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); -- cgit v1.2.1