From: Mark Wells Date: Mon, 12 Mar 2012 19:45:23 +0000 (-0700) Subject: don't generate invoice details for CDRs that were ignored by package options, #16596 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=5665d202b0b91bb9ad685c209265b7a3405de768 don't generate invoice details for CDRs that were ignored by package options, #16596 --- diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm index 1769fe9c1..3a6b01ba5 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) -=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 f70acc663..88cc02f83 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.