X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpart_pkg%2Fvoip_cdr.pm;h=4200f33bcfc460c19b52cea33ff67bf25cf9120c;hp=21c6a8a2c6affd6ce256944ab81df53e0f62e00b;hb=4d81e21107622f8731a6301c3c811108840582fd;hpb=ded0ab5cac02f099b387de360fb6dd6bd8cbb6b4 diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm index 21c6a8a2c..4200f33bc 100644 --- a/FS/FS/part_pkg/voip_cdr.pm +++ b/FS/FS/part_pkg/voip_cdr.pm @@ -31,6 +31,11 @@ tie my %rating_method, 'Tie::IxHash', 'single_price' => 'A single price per minute for all calls.', ; +tie my %rounding, 'Tie::IxHash', + '2' => 'Two decimal places (cent)', + '4' => 'Four decimal places (100th of a cent)', +; + #tie my %cdr_location, 'Tie::IxHash', # 'internal' => 'Internal: CDR records imported into the internal CDR table', # 'external' => 'External: CDR records queried directly from an external '. @@ -92,6 +97,11 @@ tie my %detail_formats, 'Tie::IxHash', 'options' => \%rating_method, }, + 'rounding' => { 'name' => 'Rounding for destination prefix rating', + 'type' => 'select', + 'select_options' => \%rounding, + }, + 'ratenum' => { 'name' => 'Rate plan', 'type' => 'select', 'select_table' => 'rate', @@ -304,7 +314,7 @@ tie my %detail_formats, 'Tie::IxHash', FS::part_pkg::prorate_Mixin::fieldorder, qw( cdr_svc_method - rating_method ratenum intrastate_ratenum + rating_method rounding ratenum intrastate_ratenum calls_included min_charge min_included sec_granularity ignore_unrateable @@ -335,7 +345,7 @@ tie my %detail_formats, 'Tie::IxHash', count_available_phones suspend_bill ) ], - 'weight' => 40, + 'weight' => 41, ); sub price_info { @@ -352,7 +362,7 @@ sub calc_recur { my $charges = 0; $charges += $self->calc_usage(@_); - $charges += $self->calc_recur_Common(@_); + $charges += ($cust_pkg->quantity || 1) * $self->calc_recur_Common(@_); $charges; @@ -423,6 +433,11 @@ sub calc_usage { $svc_x = $cust_svc->svc_x; } + unless ( $svc_x ) { + my $h = $self->option('bill_inactive_svcs',1) ? 'h_' : ''; + warn "WARNING: no $h$svc_table for svcnum ". $cust_svc->svcnum. "\n"; + } + my %options = ( 'disable_src' => $self->option('disable_src'), 'default_prefix' => $self->option('default_prefix'),