diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-03-06 18:31:25 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-03-06 18:31:25 -0800 |
commit | 4da27fb5faa7c5655bed013a8edba61bb9c782c6 (patch) | |
tree | 0bcfb8f0d50ff3e47fc22ffb1cb07046bc259f78 /bin/cust_main.restore-paymask | |
parent | 71fa1a7043b16d22a5e6d0c81ee33f5d62d50f49 (diff) |
add restore paymask script, RT#74758
Diffstat (limited to 'bin/cust_main.restore-paymask')
-rwxr-xr-x | bin/cust_main.restore-paymask | 31 |
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 000000000..c6c8a75ec --- /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; |