summaryrefslogtreecommitdiff
path: root/httemplate/edit/process/cust_main.cgi
diff options
context:
space:
mode:
authorivan <ivan>2008-03-27 22:04:00 +0000
committerivan <ivan>2008-03-27 22:04:00 +0000
commita8d483fa8f540586674300da75f2b5c5b4bb7b15 (patch)
treeb5c714a9de8695b0163c6a71afc057ad77601c62 /httemplate/edit/process/cust_main.cgi
parent42ebf5bfa6fdd1525ace6eeb7fdd5646864729a8 (diff)
fixes edit if routing code only, closes: #3085
Diffstat (limited to 'httemplate/edit/process/cust_main.cgi')
-rwxr-xr-xhttemplate/edit/process/cust_main.cgi12
1 files changed, 11 insertions, 1 deletions
diff --git a/httemplate/edit/process/cust_main.cgi b/httemplate/edit/process/cust_main.cgi
index b0c9e3e57..ddcb3cac8 100755
--- a/httemplate/edit/process/cust_main.cgi
+++ b/httemplate/edit/process/cust_main.cgi
@@ -186,8 +186,18 @@ if ( $new->custnum eq '' ) {
if ($new->stateid =~ /^xxx/) {
$new->stateid($old->stateid);
}
- if ($new->payby =~ /^(CARD|DCRD|CHEK|DCHK)$/ && $new->payinfo =~ /xx/) {
+ if ($new->payby =~ /^(CARD|DCRD)$/ && $new->payinfo =~ /xx/) {
$new->payinfo($old->payinfo);
+ } elsif ($new->payby =~ /^(CHEK|DCHK)$/ && $new->payinfo =~ /xx/) {
+ #fix for #3085 "edit of customer's routing code only surprisingly causes
+ #nothing to happen...
+ # this probably won't do the right thing when we don't have the
+ # public key (can't actually get the real $old->payinfo)
+ my($new_account, $new_aba) = split('@', $new->payinfo);
+ my($old_account, $old_aba) = split('@', $old->payinfo);
+ $new_account = $old_account if $new_account =~ /xx/;
+ $new_aba = $old_aba if $new_aba =~ /xx/;
+ $new->payinfo($new_account.'@'.$new_aba);
}
warn "$me calling $new -> replace( $old, \ @invoicing_list )" if $DEBUG;