summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2012-03-12 12:45:23 -0700
committerMark Wells <mark@freeside.biz>2012-03-12 12:45:23 -0700
commit5665d202b0b91bb9ad685c209265b7a3405de768 (patch)
tree854c5bca985dd21fcda28dd4840dea1778ce924c
parente5fcc68aab310814b0ba5444bc97ef504e6e16da (diff)
don't generate invoice details for CDRs that were ignored by package options, #16596
-rw-r--r--FS/FS/cdr.pm4
-rw-r--r--FS/FS/detail_format.pm1
2 files changed, 3 insertions, 2 deletions
diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm
index 1769fe9..3a6b01b 100644
--- a/FS/FS/cdr.pm
+++ b/FS/FS/cdr.pm
@@ -152,7 +152,7 @@ following fields are currently supported:
=item svcnum - Link to customer service (see L<FS::cust_svc>)
-=item freesidestatus - NULL, processing-tiered, rated, done
+=item freesidestatus - NULL, processing-tiered, rated, done, skipped, no-charge, failed
=item freesiderewritestatus - NULL, done, skipped
@@ -545,7 +545,7 @@ sub rate_prefix {
);
if ( $reason ) {
warn "not charging for CDR ($reason)\n" if $DEBUG;
- return $self->set_status_and_rated_price( 'rated',
+ return $self->set_status_and_rated_price( 'skipped',
0,
$opt{'svcnum'},
);
diff --git a/FS/FS/detail_format.pm b/FS/FS/detail_format.pm
index f70acc6..88cc02f 100644
--- a/FS/FS/detail_format.pm
+++ b/FS/FS/detail_format.pm
@@ -235,6 +235,7 @@ sub duration {
my $cdr = shift;
my $object = $self->{inbound} ? $cdr->cdr_termination(1) : $cdr;
my $sec = $object->rated_seconds if $object;
+ $sec ||= 0;
# XXX termination objects don't have rated_granularity so this may
# result in inbound CDRs being displayed as min/sec when they shouldn't.
# Should probably fix this.