X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fdetail_format.pm;h=88cc02f83deca63a491ed3ba8980d4f67ba66424;hb=a14db43cc4ec18badd0aff4fbc3e6738f4f63f6c;hp=af97f36b4524c3fe6e90160a5e7a6d8332629bc2;hpb=81a993ab0d0f15d896144f60cbf9477fdf693f76;p=freeside.git diff --git a/FS/FS/detail_format.pm b/FS/FS/detail_format.pm index af97f36b4..88cc02f83 100644 --- a/FS/FS/detail_format.pm +++ b/FS/FS/detail_format.pm @@ -171,11 +171,12 @@ sub single_detail { die "$me error combining ".$self->csv->error_input."\n" if !$status; - my $rated_price = $cdr->rated_price; - $rated_price = 0 if $cdr->freesidestatus eq 'no-charge'; + my $object = $self->{inbound} ? $cdr->cdr_termination(1) : $cdr; + my $price = $object->rated_price if $object; + $price = 0 if $cdr->freesidestatus eq 'no-charge'; FS::cust_bill_pkg_detail->new( { - 'amount' => $rated_price, + 'amount' => $price, 'classnum' => $cdr->rated_classnum, 'duration' => $cdr->rated_seconds, 'regionname' => $cdr->rated_regionname, @@ -234,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.