$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'));
+ # 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 {
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
# 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,
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' => [],
#customer credits
'cust_credit' => [],
+ # reason / void_reason migration to reasonnum / void_reasonnum
+ 'cust_credit_void' => [],
+ 'cust_bill_void' => [],
+ 'cust_bill_pkg_void' => [],
+
#duplicate history records
'h_cust_svc' => [],
'cust_refund' => [],
'banned_pay' => [],
+ #paycardtype
+ 'cust_payby' => [],
+
#default namespace
'payment_gateway' => [],
#populate tax statuses
'tax_status' => [],
+
+ #mark certain taxes as system-maintained
+ 'cust_main_county' => [],
;
\%hash;
'cust_bill_pkg_detail' => [],
#add necessary columns to RT schema
'TicketSystem' => [],
-
+ #remove possible dangling records
+ 'password_history' => [],
+ 'cust_pay_pending' => [],
;
\%hash;