summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2009-04-01 04:27:25 +0000
committerivan <ivan>2009-04-01 04:27:25 +0000
commit9483773ebd5056d28ca55fa0895492dd255c2542 (patch)
treec1217b3752383314c9388e3241a3895627abd58c
parentaf49b2c54c13b14189e23765a9a7102bcf59cb06 (diff)
show post-granularity duration if available for all export formats
-rw-r--r--FS/FS/cdr.pm17
1 files changed, 12 insertions, 5 deletions
diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm
index 2d9200143..35bb71cf6 100644
--- a/FS/FS/cdr.pm
+++ b/FS/FS/cdr.pm
@@ -470,6 +470,15 @@ my %export_names = (
},
);
+my $duration_sub = sub {
+ my($cdr, %opt) = @_;
+ if ( $opt{minutes} ) {
+ $opt{minutes}. ( $opt{granularity} ? 'm' : ' call' );
+ } else {
+ sprintf('%.2fm', $cdr->billsec / 60 );
+ }
+};
+
my %export_formats = (
'convergent' => [
'carriername', #CARRIER
@@ -491,7 +500,7 @@ my %export_formats = (
sub { time2str('%r', shift->calldate_unix ) }, #TIME
'userfield', #USER
'dst', #NUMBER_DIALED
- sub { sprintf('%.2fm', shift->billsec / 60 ) }, #DURATION
+ $duration_sub, #DURATION
#sub { sprintf('%.3f', shift->upstream_price ) }, #PRICE
sub { my($cdr, %opt) = @_; $opt{money_char}. $opt{charge}; }, #PRICE
],
@@ -501,7 +510,7 @@ my %export_formats = (
#'userfield', #USER
'dst', #NUMBER_DIALED
'src', #called from
- sub { sprintf('%.2fm', shift->billsec / 60 ) }, #DURATION
+ $duration_sub, #DURATION
#sub { sprintf('%.3f', shift->upstream_price ) }, #PRICE
sub { my($cdr, %opt) = @_; $opt{money_char}. $opt{charge}; }, #PRICE
],
@@ -522,9 +531,7 @@ my %export_formats = (
sub { my($cdr, %opt) = @_; $opt{dst_regionname}; },
#DURATION
- sub { my($cdr, %opt) = @_;
- $opt{minutes}. ( $opt{granularity} ? 'm' : ' call' );
- },
+ $duration_sub,
#PRICE
sub { my($cdr, %opt) = @_; $opt{money_char}. $opt{charge}; },