diff options
author | ivan <ivan> | 2008-03-13 08:57:41 +0000 |
---|---|---|
committer | ivan <ivan> | 2008-03-13 08:57:41 +0000 |
commit | 188c20600560139fc40811c6538a18109c050f95 (patch) | |
tree | b705dc05407786d6538eaab22978108183928b8f | |
parent | 99037cf94d9d6b5d7c1e512a6dca842706851710 (diff) |
allow cust_pay.otaker upgrade to proceed even if there are some old crufty records around attached to now-deleted customers
-rw-r--r-- | FS/FS/cust_pay.pm | 12 |
1 files changed, 11 insertions, 1 deletions
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++; |