X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_pkg%2Fvoip_cdr.pm;h=5b83cc77a49de2cf76301e52c9e74d0c861fbbcc;hb=86119e342d95f16b799043e9cf66230d015c37de;hp=e067af55dd298aa8bf57d7cbd61a75faaca9b60e;hpb=0a02d33bed6155752cf3f2886915bc6287d13636;p=freeside.git diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm index e067af55d..5b83cc77a 100644 --- a/FS/FS/part_pkg/voip_cdr.pm +++ b/FS/FS/part_pkg/voip_cdr.pm @@ -70,7 +70,10 @@ tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities(); 'subscription', 'default' => '1', }, - + 'add_full_period'=> { 'name' => 'When prorating first month, also bill '. + 'for one full period after that', + 'type' => 'checkbox', + }, 'recur_method' => { 'name' => 'Recurring fee method', #'type' => 'radio', #'options' => \%recur_method, @@ -253,6 +256,7 @@ tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities(); 'fieldorder' => [qw( setup_fee recur_fee recur_temporality unused_credit recur_method cutoff_day + add_full_period cdr_svc_method rating_method ratenum min_charge sec_granularity ignore_unrateable @@ -561,7 +565,9 @@ sub calc_usage { @call_details = ($cdr->downstream_csv( 'format' => $output_format, 'charge' => $charge, - 'seconds' => $seconds, + 'seconds' => ($use_duration ? + $cdr->duration : + $cdr->billsec), 'granularity' => $granularity, ) ); @@ -685,7 +691,9 @@ sub calc_usage { @call_details = ( $cdr->downstream_csv( 'format' => $output_format, 'granularity' => $rate_detail->sec_granularity, - 'seconds' => $seconds, + 'seconds' => ($use_duration ? + $cdr->duration : + $cdr->billsec), 'charge' => $charge, 'pretty_dst' => $pretty_destnum, 'dst_regionname' => $regionname, @@ -847,7 +855,7 @@ sub check_chargable { return "destination less than $dst_length digits" if $dst_length && length($cdr->dst) < $dst_length && ! ( $opt{'noskip_dst_length_accountcode_tollfree'} - && $cdr->is_tollfree + && $cdr->is_tollfree('accountcode') ); return "lastapp is $opt{'skip_lastapp'}"