summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorivan <ivan>2011-04-10 17:07:26 +0000
committerivan <ivan>2011-04-10 17:07:26 +0000
commit8a76ec0177f2622ef393eba89f65c123a796502f (patch)
tree38e5ff567377190883894fbbf9132900ab3b33de /FS
parent70504e07338649649d0a45e9fafd1ba7c67e78c1 (diff)
fix rounding of minute-granularity CDRs, RT#12101
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/cdr.pm7
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);