payment terms localization, #71549
[freeside.git] / FS / FS / Upgrade.pm
index 9187cab..377a0b1 100644 (file)
@@ -70,7 +70,7 @@ sub upgrade_config {
 
   upgrade_invoice_from($conf);
   foreach my $agent (@agents) {
-    upgrade_invoice_from($conf,$agent->agentnum);
+    upgrade_invoice_from($conf,$agent->agentnum,1);
   }
 
   my $DIST_CONF = '/usr/local/etc/freeside/default_conf/';#DIST_CONF in Makefile
@@ -138,6 +138,37 @@ If you need to continue using the old Form 477 report, turn on the
     $conf->delete('tax-cust_exempt-groups-require_individual_nums');
   }
 
+  # boolean+text previous_balance-exclude_from_total is now two separate options
+  my $total_new_charges = $conf->config('previous_balance-exclude_from_total');
+  if (length($total_new_charges) > 0) {
+    $conf->set('previous_balance-text-total_new_charges', $total_new_charges);
+    $conf->set('previous_balance-exclude_from_total', '');
+  }
+
+  if ( $conf->exists('voip-cust_email_csv_cdr') ) {
+    $conf->set('voip_cdr_email_attach', 'csv');
+    $conf->delete('voip-cust_email_csv_cdr') ;
+  }
+
+  if ( !$conf->config('password-generated-characters') ) {
+    my $pw_set = 
+      'abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ23456789()#.,' ;
+    $conf->set('password-generated-characters', $pw_set);
+  }
+
+  if ($conf->exists('unsuspendauto') && !$conf->config('unsuspend_balance')) {
+    $conf->set('unsuspend_balance','Zero');
+    $conf->delete('unsuspendauto');
+  }
+
+  # if translate-auto-insert is enabled for a locale, ensure that invoice
+  # terms are in the msgcat (is there a better place for this?)
+  if (my $auto_locale = $conf->config('translate-auto-insert')) {
+    my $lh = FS::L10N->get_handle($auto_locale);
+    foreach (@FS::Conf::invoice_terms) {
+      $lh->maketext($_) if length($_);
+    }
+  }
 }
 
 sub upgrade_overlimit_groups {
@@ -167,10 +198,10 @@ sub upgrade_overlimit_groups {
 }
 
 sub upgrade_invoice_from {
-  my ($conf, $agentnum) = @_;
+  my ($conf, $agentnum, $agentonly) = @_;
   if (
-      (!$conf->config('invoice_from_name',$agentnum)) && 
-      ($conf->config('invoice_from',$agentnum) =~ /\<(.*)\>/)
+      (!$conf->exists('invoice_from_name',$agentnum,$agentonly)) && 
+      ($conf->config('invoice_from',$agentnum,$agentonly) =~ /\<(.*)\>/)
   ) {
     my $realemail = $1;
     $realemail =~ s/^\s*//; # remove leading spaces
@@ -406,6 +437,12 @@ sub upgrade_data {
 
     #populate state FIPS codes if not already done
     'state' => [],
+
+    #set default locations on quoted packages
+    'quotation_pkg' => [],
+
+    #mark certain taxes as system-maintained
+    'cust_main_county' => [],
   ;
 
   \%hash;
@@ -468,7 +505,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;