From 188c20600560139fc40811c6538a18109c050f95 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 13 Mar 2008 08:57:41 +0000 Subject: [PATCH] allow cust_pay.otaker upgrade to proceed even if there are some old crufty records around attached to now-deleted customers --- FS/FS/cust_pay.pm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm index acb284429..de14610d6 100644 --- a/FS/FS/cust_pay.pm +++ b/FS/FS/cust_pay.pm @@ -673,7 +673,9 @@ sub _upgrade_data { #class method #not the most efficient, but hey, it only has to run once - my $where = "WHERE otaker IS NULL OR otaker = '' OR otaker = 'ivan' "; + my $where = "WHERE ( otaker IS NULL OR otaker = '' OR otaker = 'ivan' ) ". + " AND 0 < ( SELECT COUNT(*) FROM cust_main ". + " WHERE cust_main.custnum = cust_pay.custnum ) "; my $count_sql = "SELECT COUNT(*) FROM cust_pay $where"; @@ -705,7 +707,15 @@ sub _upgrade_data { #class method delete $FS::payby::hash{'COMP'}->{cust_pay}; #quelle kludge my $error = $cust_pay->replace; + + #infinite... + #if ( $error ) { + # warn " *** WARNING: Error updaating order taker for payment paynum". + # $cust_pay->paynun. ": $error\n"; + # next; + #} die $error if $error; + $FS::payby::hash{'COMP'}->{cust_pay} = ''; #restore it $count++; -- 2.11.0