fix bug with RADIUS groups not available to shellcommands delete export
[freeside.git] / fs_selfservice / FS-SelfService / cgi / signup.cgi
index 3e2f8fd..227f05f 100755 (executable)
@@ -182,22 +182,24 @@ if (    ( defined($cgi->param('magic')) && $cgi->param('magic') eq 'process' )
 
     unless ( $error ) {
       my $rv = new_customer( {
-        map { $_ => scalar($cgi->param($_)) }
-          qw( last first ss company
-              address1 address2 city county state zip country
-              daytime night fax
-
-              ship_last ship_first ship_company
-              ship_address1 ship_address2 ship_city ship_county ship_state
-                ship_zip ship_country
-              ship_daytime ship_night ship_fax
-
-              payby payinfo paycvv paydate payname invoicing_list
-              referral_custnum promo_code reg_code
-              pkgpart username sec_phrase _password popnum refnum
-              agentnum
-            ),
-          grep { /^snarf_/ } $cgi->param
+        ( map { $_ => scalar($cgi->param($_)) }
+            qw( last first ss company
+                address1 address2 city county state zip country
+                daytime night fax
+
+                ship_last ship_first ship_company
+                ship_address1 ship_address2 ship_city ship_county ship_state
+                  ship_zip ship_country
+                ship_daytime ship_night ship_fax
+
+                payby payinfo paycvv paydate payname invoicing_list
+                referral_custnum promo_code reg_code
+                pkgpart username sec_phrase _password popnum refnum
+                agentnum
+              ),
+            grep { /^snarf_/ } $cgi->param
+        ),
+        'payip' => $cgi->remote_host(),
       } );
       $error = $rv->{'error'};
     }
@@ -231,6 +233,8 @@ sub print_form {
     'error' => $error,
   };
 
+  $r->{pkgpart} ||= $r->{default_pkgpart};
+
   $r->{referral_custnum} = $r->{'ref'};
   #$cgi->delete('ref');
   #$cgi->delete('init_popstate');
@@ -278,9 +282,10 @@ sub print_okay {
   }
 
   #global for template
-  my $pkg = ( grep { $_->{'pkgpart'} eq $param{'pkgpart'} }
-                   @{ $init_data->{'part_pkg'} }
-            )[0]->{'pkg'};
+  my $part_pkg = ( grep { $_->{'pkgpart'} eq $param{'pkgpart'} }
+                        @{ $init_data->{'part_pkg'} }
+                 )[0];
+  my $pkg =  $part_pkg->{'pkg'};
 
   if ( $ieak_template && $user_agent->windows && $user_agent->ie ) {
     #send an IEAK config
@@ -297,6 +302,7 @@ sub print_okay {
             exch       => $exch,
             loc        => $loc,
             pkg        => $pkg,
+            part_pkg   => \$part_pkg,
           });
   }
 }