use strict;
use vars qw( $DEBUG %info );
use Tie::IxHash;
+use Date::Parse;
use Date::Format;
use Text::CSV_XS;
use FS::Conf;
'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'
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
)
],
'validate' => sub {
# Validation function for FS::part_pkg::check_options()
my $options = shift;
- return "Please select a rate plan for price plan VoIP/telco CDR rating (standard)"
- unless $options->{ratenum};
+ return "Please choose a Rate Plan for use with selected Rating Method"
+ if $options->{rating_method} eq 'prefix' && !$options->{ratenum};
return;
},
);
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
'';
}