projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '16824'
[freeside.git]
/
FS
/
FS
/
detail_format.pm
diff --git
a/FS/FS/detail_format.pm
b/FS/FS/detail_format.pm
index
144aaa7
..
88cc02f
100644
(file)
--- a/
FS/FS/detail_format.pm
+++ b/
FS/FS/detail_format.pm
@@
-171,8
+171,12
@@
sub single_detail {
die "$me error combining ".$self->csv->error_input."\n"
if !$status;
die "$me error combining ".$self->csv->error_input."\n"
if !$status;
+ 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( {
FS::cust_bill_pkg_detail->new( {
- 'amount' => $
cdr->rated_
price,
+ 'amount' => $price,
'classnum' => $cdr->rated_classnum,
'duration' => $cdr->rated_seconds,
'regionname' => $cdr->rated_regionname,
'classnum' => $cdr->rated_classnum,
'duration' => $cdr->rated_seconds,
'regionname' => $cdr->rated_regionname,
@@
-231,6
+235,7
@@
sub duration {
my $cdr = shift;
my $object = $self->{inbound} ? $cdr->cdr_termination(1) : $cdr;
my $sec = $object->rated_seconds if $object;
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.
# 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.
@@
-250,6
+255,7
@@
sub price {
my $cdr = shift;
my $object = $self->{inbound} ? $cdr->cdr_termination(1) : $cdr;
my $price = $object->rated_price if $object;
my $cdr = shift;
my $object = $self->{inbound} ? $cdr->cdr_termination(1) : $cdr;
my $price = $object->rated_price if $object;
+ $price = '0.00' if $object->freesidestatus eq 'no-charge';
length($price) ? $self->money_char . $price : '';
}
length($price) ? $self->money_char . $price : '';
}