JBAS-1925 eCard address normalizer repair
authorBill Erickson <berickxx@gmail.com>
Tue, 24 Jul 2018 21:05:48 +0000 (17:05 -0400)
committerBill Erickson <berickxx@gmail.com>
Thu, 21 Mar 2019 19:46:23 +0000 (15:46 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Ecard.pm

index a53806b..f6db282 100644 (file)
@@ -458,18 +458,27 @@ sub add_addresses {
     $user->billing_address(-1);
     $user->mailing_address(-1);
 
-    ($cgi->{billing_street1}, $cgi->{billing_street2}) = 
+    my ($s1, $s2) = 
         OpenILS::Utils::KCLSNormalize::normalize_address_street(
-            $cgi->{billing_street1},
-            $cgi->{billing_street2}
+            $cgi->param('billing_street1'),
+            $cgi->param('billing_street2')
         );
 
+    # Toss the normalized values back into CGI to simplify the steps below.
+    $cgi->param('billing_street1', $s1);
+
+    if ($s2) {
+        $cgi->param('billing_street2', $s2);
+    } else {
+        $cgi->delete('billing_street2');
+    }
+
     # Confirm we have values for all of the required fields.
     # Apply values to our in-progress address object.
     for my $field_info (@api_fields) {
         my $field = $field_info->{name};
         next unless $field =~ /billing/;
-        next if $field eq 'billing_street1_name';
+        next if $field =~ /billing_street1_/;
 
         my $val = $cgi->param($field);