summaryrefslogtreecommitdiff
path: root/bin/cust_main.restore-paymask
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-06-28 17:23:24 -0700
committerIvan Kohler <ivan@freeside.biz>2017-06-28 17:23:24 -0700
commitc4e1d36c46b1e0e4554af2dc36f19b65bf840758 (patch)
treee1b2dde5b8c22f84fb837ac9ab9071d82c45a190 /bin/cust_main.restore-paymask
parentc6297fc9d80c00a2a32d0e9d1fad5debfe53823d (diff)
git wtf?
Diffstat (limited to 'bin/cust_main.restore-paymask')
-rwxr-xr-xbin/cust_main.restore-paymask31
1 files changed, 31 insertions, 0 deletions
diff --git a/bin/cust_main.restore-paymask b/bin/cust_main.restore-paymask
new file mode 100755
index 0000000..c6c8a75
--- /dev/null
+++ b/bin/cust_main.restore-paymask
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+
+use strict;
+use FS::UID qw( adminsuidsetup );
+use FS::Record qw( qsearch dbh );
+
+adminsuidsetup shift
+ or die "Usage: cust_main.restore-paymask freeside_username\n";
+
+foreach my $cust_main (
+ qsearch({ 'table' => 'cust_main',
+ 'extra_sql' => q[WHERE payby IN ('CARD','DCRD') AND paymask IS NULL OR paymask = 'N/A (tokenized)'],
+ })
+) {
+
+ my $custnum = $cust_main->custnum;
+
+ my $paymask = FS::Record->scalar_sql(qq[
+ SELECT paymask FROM h_cust_main WHERE custnum = $custnum AND history_action = 'replace_old' AND paymask IS NOT NULL AND paymask != 'N/A (tokenized)' ORDER BY historynum desc LIMIT 1
+ ]);
+
+ #dbh->do(
+ print
+ qq[UPDATE cust_main SET paymask = '$paymask' WHERE custnum = $custnum;]
+ ."\n"
+ ;
+
+ #print "$custnum: $paymask\n";
+}
+
+1;