add skip_dcontext_suffix to skip CDRs with dcontext ending in a definable string...
[freeside.git] / FS / FS / Upgrade.pm
index bffda56..a374d39 100644 (file)
@@ -160,6 +160,24 @@ If you need to continue using the old Form 477 report, turn on the
     $conf->delete('batch-errors_to');
   }
 
+  if ( $conf->exists('voip-cust_email_csv_cdr') ) {
+    $conf->set('voip_cdr_email_attach', 'csv');
+    $conf->delete('voip-cust_email_csv_cdr') ;
+  }
+
+  if ($conf->exists('unsuspendauto') && !$conf->config('unsuspend_balance')) {
+    $conf->set('unsuspend_balance','Zero');
+    $conf->delete('unsuspendauto');
+  }
+
+  if ($conf->config('cust-fields') =~ / \| Payment Type/) {
+    my $cust_fields = $conf->config('cust-fields');
+    # so we can potentially use 'Payment Types' or somesuch in the future
+    $cust_fields =~ s/ \| Payment Type( \|)/$1/;
+    $cust_fields =~ s/ \| Payment Type$//;
+    $conf->set('cust-fields',$cust_fields);
+  }
+
   enable_banned_pay_pad() unless length($conf->config('banned_pay-pad'));
 
 }
@@ -193,8 +211,9 @@ sub upgrade_overlimit_groups {
 sub upgrade_invoice_from {
   my ($conf, $agentnum, $agentonly) = @_;
   if (
-      (!$conf->exists('invoice_from_name',$agentnum,$agentonly)) && 
-      ($conf->config('invoice_from',$agentnum,$agentonly) =~ /\<(.*)\>/)
+          ! $conf->exists('invoice_from_name',$agentnum,$agentonly)
+       && $conf->exists('invoice_from',$agentnum,$agentonly)
+       && $conf->config('invoice_from',$agentnum,$agentonly) =~ /\<(.*)\>/
   ) {
     my $realemail = $1;
     $realemail =~ s/^\s*//; # remove leading spaces
@@ -297,7 +316,7 @@ sub upgrade {
   # decrypt inadvertantly-encrypted payinfo where payby != CARD,DCRD,CHEK,DCHK
   # kind of a weird spot for this, but it's better than duplicating
   # all this code in each class...
-  my @decrypt_tables = qw( cust_main cust_pay_void cust_pay cust_refund cust_pay_pending );
+  my @decrypt_tables = qw( cust_payby cust_pay_void cust_pay cust_refund cust_pay_pending );
   foreach my $table ( @decrypt_tables ) {
       my @objects = qsearch({
         'table'     => $table,
@@ -325,12 +344,6 @@ sub upgrade_data {
 
   tie my %hash, 'Tie::IxHash', 
 
-    #payby conditions to new ones
-    'part_event_condition' => [],
-
-    #payby actions to new ones
-    'part_event' => [],
-
     #cust_main (remove paycvv from history, locations, cust_payby, etc)
     'cust_main' => [],
 
@@ -453,6 +466,9 @@ sub upgrade_data {
 
     #populate tax statuses
     'tax_status' => [],
+
+    #mark certain taxes as system-maintained
+    'cust_main_county' => [],
   ;
 
   \%hash;
@@ -515,7 +531,9 @@ sub upgrade_schema_data {
     'cust_bill_pkg_detail' => [],
     #add necessary columns to RT schema
     'TicketSystem' => [],
-
+    #remove possible dangling records
+    'password_history' => [],
+    'cust_pay_pending' => [],
   ;
 
   \%hash;