X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcdr.pm;h=fce7a14caf50d0d33e8a73186dd1d1356c562ba2;hb=5db92cf346acf4205aa96f58843a0a1d065f3988;hp=8113412c1725083d68dd9b88e738e1fe24fd0cdd;hpb=38c49e73b24608ef28ef8086410d5e594d56f0c4;p=freeside.git diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm index 8113412c1..fce7a14ca 100644 --- a/FS/FS/cdr.pm +++ b/FS/FS/cdr.pm @@ -368,8 +368,10 @@ to inspect other field. sub is_tollfree { my $self = shift; my $field = scalar(@_) ? shift : 'dst'; - my $country = $conf->config('tollfree-country'); + my $country = $conf->config('tollfree-country') || ''; if ( $country eq 'AU' ) { + ( $self->$field() =~ /^(\+?61)?1800/ ) ? 1 : 0; + } elsif ( $country eq 'NZ' ) { ( $self->$field() =~ /^(\+?64)?(800|508)/ ) ? 1 : 0; } else { #NANPA (US/Canaada) ( $self->$field() =~ /^(\+?1)?8(8|([02-7])\3)/ ) ? 1 : 0; @@ -825,9 +827,10 @@ sub rate_prefix { # We don't round _anything_ (except granularizing) # until the final $charge = sprintf("%.2f"...). - my $seconds_left = $part_pkg->option_cacheable('use_duration') - ? $self->duration - : $self->billsec; + my $rated_seconds = $part_pkg->option_cacheable('use_duration') + ? $self->duration + : $self->billsec; + my $seconds_left = $rated_seconds; #no, do this later so it respects (group) included minutes # # charge for the first (conn_sec) seconds @@ -835,7 +838,7 @@ sub rate_prefix { # $seconds_left -= $seconds; # $weektime += $seconds; # my $charge = $rate_detail->conn_charge; - my $seconds = 0; + #my $seconds = 0; my $charge = 0; my $connection_charged = 0; @@ -893,7 +896,7 @@ sub rate_prefix { $seconds_left = 0; } - $seconds += $charge_sec; + #$seconds += $charge_sec; if ( $rate_detail->min_included ) { # the old, kind of deprecated way to do this: @@ -987,7 +990,7 @@ sub rate_prefix { $opt{'svcnum'}, 'rated_pretty_dst' => $pretty_dst, 'rated_regionname' => $rate_region->regionname, - 'rated_seconds' => $seconds, + 'rated_seconds' => $rated_seconds, #$seconds, 'rated_granularity' => $rate_detail->sec_granularity, #$granularity 'rated_ratedetailnum' => $rate_detail->ratedetailnum, 'rated_classnum' => $rate_detail->classnum, #rated_ratedetailnum? @@ -1255,7 +1258,7 @@ sub export_formats { my $conf = new FS::Conf; my $date_format = $conf->config('date_format') || '%m/%d/%Y'; - # call duration in the largest units that accurately reflect the granularity + # call duration in the largest units that accurately reflect the granularity my $duration_sub = sub { my($cdr, %opt) = @_; my $sec = $opt{seconds} || $cdr->billsec;