tie my %rating_method, 'Tie::IxHash',
'prefix' => 'Rate calls by using destination prefix to look up a region and rate according to the internal prefix and rate tables',
# 'upstream' => 'Rate calls based on upstream data: If the call type is "1", map the upstream rate ID directly to an internal rate (rate_detail), otherwise, pass the upstream price through directly.',
- 'upstream_simple' => 'Simply pass through and charge the "upstream_price" amount.',
- 'single_price' => 'A single price per minute for all calls.',
+ 'upstream_simple' => 'Simply pass through and charge the "upstream_price" amount (ignoring all options to skip calls).',
+ 'single_price' => 'A single price per minute for all calls (ignoring all options to skip calls).',
;
tie my %rounding, 'Tie::IxHash',
},
'use_cdrtypenum' => { 'name' => 'Only charge for CDRs where the CDR Type is set to this cdrtypenum: ',
+ 'validate' => \&FS::part_pkg::validate_number_blank,
+ 'js_validate' => 'digits: true',
},
'ignore_cdrtypenum' => { 'name' => 'Do not charge for CDRs where the CDR Type is set to this cdrtypenum: ',
+ 'validate' => \&FS::part_pkg::validate_number_blank,
+ 'js_validate' => 'digits: true',
},
'use_calltypenum' => { 'name' => 'Only charge for CDRs where the CDR Call Type is set to this calltypenum: ',
and $cdr->max_callers <= $self->option_cacheable('skip_max_callers');
return "calldate < ". $self->option_cacheable('skip_old')
- if $self->option_cacheable('skip_old')
+ if length($self->option_cacheable('skip_old'))
&& $cdr->calldate_unix < str2time($self->option_cacheable('skip_old'));
#all right then, rate it