[freeside-commits] branch master updated. b71b1576c68bc40ad26592b354feace37a029f0e

Ivan Kohler ivan at freeside.biz
Mon Nov 12 19:00:38 PST 2018


The branch, master has been updated
       via  b71b1576c68bc40ad26592b354feace37a029f0e (commit)
      from  bfba4dcd1478d5ace640464b3e2e05531f3db5e0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b71b1576c68bc40ad26592b354feace37a029f0e
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Mon Nov 12 19:00:36 2018 -0800

    Option to ignore old CDRs, RT#81480

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 a6a2a89c5..dd8cb13a2 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'              =>
@@ -1003,6 +1004,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',

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/part_pkg/voip_cdr.pm   | 10 +++++++++-
 httemplate/edit/part_pkg.cgi |  8 ++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)




More information about the freeside-commits mailing list