From: ivan Date: Sun, 10 Apr 2011 17:07:26 +0000 (+0000) Subject: fix rounding of minute-granularity CDRs, RT#12101 X-Git-Tag: freeside_2_3_0~425 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=8a76ec0177f2622ef393eba89f65c123a796502f;p=freeside.git fix rounding of minute-granularity CDRs, RT#12101 --- 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);