use FS::Record qw(qsearchs qsearch str2time_sql);
use FS::queue;
use FS::upgrade_journal;
+use FS::DBI;
use FS::svc_domain;
$FS::svc_domain::whois_hack = 1;
$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 {
});
foreach my $object ( @objects ) {
my $payinfo = $object->decrypt($object->payinfo);
- die "error decrypting payinfo" if $payinfo eq $object->payinfo;
+ if ( $payinfo eq $object->payinfo ) {
+ warn "error decrypting payinfo for $table: $payinfo\n";
+ next;
+ }
$object->payinfo($payinfo);
my $error = $object->replace;
die $error if $error;
tie my %hash, 'Tie::IxHash',
- #cust_main (remove paycvv from history)
+ #remap log levels
+ 'log' => [],
+
+ #fix whitespace - before cust_main
+ 'cust_location' => [],
+
+ #remove bad source_paynum before cust_main
+ 'cust_refund' => [],
+
+ #cust_main (tokenizes cards, remove paycvv from history, locations, cust_payby, etc)
+ # (handles payinfo encryption/tokenization across all relevant tables)
'cust_main' => [],
#msgcat
#customer credits
'cust_credit' => [],
+ # fix some tax allocation records
+ 'cust_bill_pkg_void' => [],
+
#duplicate history records
'h_cust_svc' => [],
'cust_pkg' => [],
#'cust_pkg_reason' => [],
'cust_pkg_discount' => [],
- 'cust_refund' => [],
+ #'cust_refund' => [],
'banned_pay' => [],
#default namespace
#set default locations on quoted packages
'quotation_pkg' => [],
- #mark certain taxes as system-maintained
+ #mark certain taxes as system-maintained,
+ # and fix whitespace
'cust_main_county' => [],
+
+ #upgrade part_event_condition_option agentnum to a multiple hash value
+ 'part_event_condition_option' =>[],
+
;
\%hash;
'cust_bill_pkg_detail' => [],
#add necessary columns to RT schema
'TicketSystem' => [],
-
+ #remove possible dangling records
+ 'password_history' => [],
+ 'cust_pay_pending' => [],
;
\%hash;
my $errmsg = 'Error adding FreesideStatus to '.
$part_export->option('datasrc'). ': ';
- my $dbh = DBI->connect(
+ my $dbh = FS::DBI->connect(
( map $part_export->option($_), qw ( datasrc username password ) ),
{ PrintError => 0, PrintWarn => 0 }
) or do {
- warn $errmsg.$DBI::errstr;
+ warn $errmsg.$FS::DBI::errstr;
next;
};