RT# 80555 freeside_upgrade for invalid ip addresses
[freeside.git] / FS / FS / Upgrade.pm
index 1c1095e..adf973e 100644 (file)
@@ -47,6 +47,10 @@ sub upgrade_config {
 
   my $conf = new FS::Conf;
 
+  # to simplify tokenization upgrades
+  die "Conf selfservice-payment_gateway no longer supported"
+    if $conf->config('selfservice-payment_gateway');
+
   $conf->touch('payment_receipt')
     if $conf->exists('payment_receipt_email')
     || $conf->config('payment_receipt_msgnum');
@@ -178,14 +182,6 @@ If you need to continue using the old Form 477 report, turn on the
     $conf->set('cust-fields',$cust_fields);
   }
 
-  #repurposed
-  $conf->set('note-classes','Enabled')
-    if $conf->exists('note-classes')
-      and grep {$_ eq $conf->config('note-classes')} ('1','2');
-  $conf->set('note-classes','')
-    if $conf->exists('note-classes')
-      and '0' eq $conf->config('note-classes');
-
   enable_banned_pay_pad() unless length($conf->config('banned_pay-pad'));
 
   # if translate-auto-insert is enabled for a locale, ensure that invoice
@@ -366,7 +362,12 @@ sub upgrade_data {
     #fix whitespace - before cust_main
     'cust_location' => [],
 
-    #cust_main (remove paycvv from history, locations, cust_payby, etc)
+    # need before cust_main tokenization upgrade,
+    # blocks tokenization upgrade if deprecated features still in use
+    'agent_payment_gateway' => [],
+
+    #cust_main (tokenizes cards, remove paycvv from history, locations, cust_payby, etc)
+    # (handles payinfo encryption/tokenization across all relevant tables)
     'cust_main' => [],
 
     #contact -> cust_contact / prospect_contact
@@ -388,6 +389,7 @@ sub upgrade_data {
     # reason / void_reason migration to reasonnum / void_reasonnum
     'cust_credit_void' => [],
     'cust_bill_void' => [],
+    # also fix some tax allocation records
     'cust_bill_pkg_void' => [],
 
     #duplicate history records
@@ -495,6 +497,27 @@ sub upgrade_data {
     #mark certain taxes as system-maintained,
     # and fix whitespace
     'cust_main_county' => [],
+
+    #'compliance solutions' -> 'compliance_solutions'
+    'tax_rate' => [],
+    'tax_rate_location' => [],
+
+    #upgrade part_event_condition_option agentnum to a multiple hash value
+    'part_event_condition_option' =>[],
+
+    #fix ip format
+    'svc_circuit' => [],
+
+    #fix ip format
+    'svc_hardware' => [],
+
+    #fix ip format
+    'svc_pbx' => [],
+
+    #fix ip format
+    'tower_sector' => [],
+
+
   ;
 
   \%hash;
@@ -551,15 +574,31 @@ sub upgrade_schema {
 sub upgrade_schema_data {
   my %opt = @_;
 
+  #auto-find tables/classes with an _update_schema method?
+
   tie my %hash, 'Tie::IxHash', 
 
     #fix classnum character(1)
     'cust_bill_pkg_detail' => [],
     #add necessary columns to RT schema
     'TicketSystem' => [],
+    #remove h_access_user_log if it exists (since our regular auto schema
+    # upgrade doesn't have the drop tables flag turned on) 
+    'access_user_log' => [],
     #remove possible dangling records
     'password_history' => [],
     'cust_pay_pending' => [],
+    #remove records referencing removed things with their FKs
+    'pkg_referral' => [],
+    'cust_bill_pkg_discount' => [],
+    'cust_msg' => [],
+    'cust_bill_pay_batch' => [],
+    'cust_event_fee' => [],
+    'radius_attr' => [],
+    'queue_depend' => [],
+    'cust_main_invoice' => [],
+    #update records referencing removed things with their FKs
+    'cust_pkg' => [],
   ;
 
   \%hash;
@@ -689,4 +728,3 @@ Sure.
 =cut
 
 1;
-