X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_pay.pm;h=a7b91083f92fcf0524042766428a84b673c9df9a;hb=517ad7e0c5bd5a6329dfd3ef9c35f69afea9fc49;hp=69f4c395a032a9cad969d8fd98fcf7a9485a730a;hpb=3564f619654c5cbf22fc2acbe7eff0c08308e859;p=freeside.git diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm index 69f4c395a..a7b91083f 100644 --- a/FS/FS/cust_pay.pm +++ b/FS/FS/cust_pay.pm @@ -21,6 +21,7 @@ use FS::cust_main; use FS::cust_pkg; use FS::cust_pay_void; use FS::upgrade_journal; +use FS::Cursor; $DEBUG = 0; @@ -35,6 +36,7 @@ FS::UID->install_callback( sub { } ); @encrypted_fields = ('payinfo'); +sub nohistory_fields { ('payinfo'); } =head1 NAME @@ -1003,11 +1005,11 @@ sub _upgrade_data { #class method ### # migrate batchnums from the misused 'paybatch' field to 'batchnum' ### - my @cust_pay = qsearch( { - 'table' => 'cust_pay', - 'addl_from' => ' JOIN pay_batch ON cust_pay.paybatch = CAST(pay_batch.batchnum AS text) ', + my $search = FS::Cursor->new( { + 'table' => 'cust_pay', + 'addl_from' => ' JOIN pay_batch ON cust_pay.paybatch = CAST(pay_batch.batchnum AS text) ', } ); - foreach my $cust_pay (@cust_pay) { + while (my $cust_pay = $search->fetch) { $cust_pay->set('batchnum' => $cust_pay->paybatch); $cust_pay->set('paybatch' => ''); my $error = $cust_pay->replace; @@ -1026,14 +1028,14 @@ sub _upgrade_data { #class method foreach my $table (qw(cust_pay cust_pay_void cust_refund)) { my $and_batchnum_is_null = ( $table =~ /^cust_pay/ ? ' AND batchnum IS NULL' : '' ); - foreach my $object ( qsearch({ - table => $table, - extra_sql => "WHERE payby IN('CARD','CHEK') ". - "AND (paybatch IS NOT NULL ". - "OR (paybatch IS NULL AND auth IS NULL - $and_batchnum_is_null ) )", - }) ) - { + my $search = FS::Cursor->new({ + table => $table, + extra_sql => "WHERE payby IN('CARD','CHEK') ". + "AND (paybatch IS NOT NULL ". + "OR (paybatch IS NULL AND auth IS NULL + $and_batchnum_is_null ) )", + }); + while ( my $object = $search->fetch ) { if ( $object->paybatch eq '' ) { # repair for a previous upgrade that didn't save 'auth' my $pkey = $object->primary_key;