don't generate invoice details for CDRs that were ignored by package options, #16596
authorMark Wells <mark@freeside.biz>
Mon, 12 Mar 2012 19:45:23 +0000 (12:45 -0700)
committerMark Wells <mark@freeside.biz>
Mon, 12 Mar 2012 19:45:23 +0000 (12:45 -0700)
FS/FS/cdr.pm
FS/FS/detail_format.pm

index 1769fe9..3a6b01b 100644 (file)
@@ -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'},
                                             );
index f70acc6..88cc02f 100644 (file)
@@ -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.