summaryrefslogtreecommitdiff
path: root/FS/FS
diff options
context:
space:
mode:
authorChristopher Burger <burgerc@freeside.biz>2018-11-13 09:19:48 -0500
committerChristopher Burger <burgerc@freeside.biz>2018-11-13 09:19:48 -0500
commitc6670629cf1284990114c6def591f228f7b27c9d (patch)
tree5a039434258738bba9d1cac73bec336db2d6f616 /FS/FS
parentf6ea5bbb257a4907665e80ad2ce0daf79290bb9f (diff)
parentb7f3e1493aeb4061c65a5ba52dd8318f4662eb2e (diff)
Merge branch 'FREESIDE_4_BRANCH' of ssh://git.freeside.biz/home/git/freeside into FREESIDE_4_BRANCH
Diffstat (limited to 'FS/FS')
-rw-r--r--FS/FS/cust_bill_pkg.pm9
-rw-r--r--FS/FS/part_pkg/voip_cdr.pm10
2 files changed, 11 insertions, 8 deletions
diff --git a/FS/FS/cust_bill_pkg.pm b/FS/FS/cust_bill_pkg.pm
index d0d62bd6a..305ad63a6 100644
--- a/FS/FS/cust_bill_pkg.pm
+++ b/FS/FS/cust_bill_pkg.pm
@@ -499,13 +499,8 @@ sub delete {
#not adding a cc surcharge, but this override lets us modify charged
$cust_bill->{'Hash'}{'cc_surcharge_replace_hack'} = 1;
- my $error = $cust_bill->replace;
- if ( $error ) {
- $dbh->rollback if $oldAutoCommit;
- return $error;
- }
-
- my $error = $self->SUPER::delete(@_);
+ my $error = $cust_bill->replace
+ || $self->SUPER::delete(@_);
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
return $error;
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
'';
}