diff options
author | Ivan Kohler <ivan@freeside.biz> | 2018-11-12 19:00:36 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2018-11-12 19:00:36 -0800 |
commit | b71b1576c68bc40ad26592b354feace37a029f0e (patch) | |
tree | 27416592957a15ca40d5d998f85dd266c07a57cb /FS/FS/part_pkg | |
parent | bfba4dcd1478d5ace640464b3e2e05531f3db5e0 (diff) |
Option to ignore old CDRs, RT#81480
Diffstat (limited to 'FS/FS/part_pkg')
-rw-r--r-- | FS/FS/part_pkg/voip_cdr.pm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm index 587a8c530..522e4aa6f 100644 --- a/FS/FS/part_pkg/voip_cdr.pm +++ b/FS/FS/part_pkg/voip_cdr.pm @@ -4,6 +4,7 @@ use base qw( FS::part_pkg::recur_Common ); use strict; use vars qw( $DEBUG %info ); use Tie::IxHash; +use Date::Parse; use Date::Format; use Text::CSV_XS; use FS::Conf; @@ -294,6 +295,9 @@ tie my %accountcode_tollfree_field, 'Tie::IxHash', 'bill_only_pkg_dates' => { 'name' => 'Only bill CDRs with a date during the package billing period', 'type' => 'checkbox', }, + 'skip_old' => { 'name' => 'Do not charge for CDRs older than: ', + 'type' => 'date', + }, #XXX also have option for an external db? these days we suck them into ours # 'cdr_location' => { 'name' => 'CDR database location' @@ -355,7 +359,7 @@ tie my %accountcode_tollfree_field, 'Tie::IxHash', selfservice_format selfservice_inbound_format usage_mandate usage_section summarize_usage usage_showzero bill_every_call bill_inactive_svcs - bill_only_pkg_dates + bill_only_pkg_dates skip_old suspend_bill ) ], @@ -670,6 +674,10 @@ sub check_chargable { and length($cdr->max_callers) and $cdr->max_callers <= $self->option_cacheable('skip_max_callers'); + return "calldate < ". str2time($self->option_cacheable('skip_old')) + if $self->option_cacheable('skip_old') + && $self->calldate_unix < str2time($self->option_cacheable('skip_old')); + #all right then, rate it ''; } |