diff options
| author | Christopher Burger <burgerc@freeside.biz> | 2018-11-13 09:19:48 -0500 |
|---|---|---|
| committer | Christopher Burger <burgerc@freeside.biz> | 2018-11-13 09:19:48 -0500 |
| commit | c6670629cf1284990114c6def591f228f7b27c9d (patch) | |
| tree | 5a039434258738bba9d1cac73bec336db2d6f616 | |
| parent | f6ea5bbb257a4907665e80ad2ce0daf79290bb9f (diff) | |
| parent | b7f3e1493aeb4061c65a5ba52dd8318f4662eb2e (diff) | |
Merge branch 'FREESIDE_4_BRANCH' of ssh://git.freeside.biz/home/git/freeside into FREESIDE_4_BRANCH
| -rw-r--r-- | FS/FS/cust_bill_pkg.pm | 9 | ||||
| -rw-r--r-- | FS/FS/part_pkg/voip_cdr.pm | 10 | ||||
| -rwxr-xr-x | httemplate/edit/part_pkg.cgi | 8 |
3 files changed, 19 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 ''; } diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi index 71ba46dcb..50382077f 100755 --- a/httemplate/edit/part_pkg.cgi +++ b/httemplate/edit/part_pkg.cgi @@ -9,6 +9,7 @@ #'viewall_dir' => 'browse', 'viewall_url' => $p.'browse/part_pkg.cgi', 'html_init' => include('/elements/init_overlib.html'). + include('/elements/init_calendar.html'). $javascript, 'html_bottom' => $html_bottom, 'body_etc' => @@ -1016,6 +1017,13 @@ my $html_bottom = sub { : '' ). '>'; + } elsif ( $href->{$field}{'type'} eq 'date' ) { + + $html .= include('/elements/input-date-field.html', { + 'name' => $layer.'__'.$field, + 'value' => $options{$field}, + }); + } elsif ( $href->{$field}{'type'} =~ /^select-rt-/ ) { $html .= include('/elements/'.$href->{$field}{'type'}.'.html', |
