From: Ivan Kohler Date: Tue, 7 Mar 2017 02:31:25 +0000 (-0800) Subject: add restore paymask script, RT#74758 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=4da27fb5faa7c5655bed013a8edba61bb9c782c6 add restore paymask script, RT#74758 --- 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;