manual batch approval and TD EFT fixes, RT#10545
[freeside.git] / fs_selfservice / FS-SelfService / cgi / signup.cgi
index 12452e6..7d1679b 100755 (executable)
@@ -17,9 +17,11 @@ use subs qw( print_form print_okay print_decline
            );
 use CGI;
 #use CGI::Carp qw(fatalsToBrowser);
+use Tie::IxHash;
 use Text::Template;
 use Business::CreditCard;
 use HTTP::BrowserDetect;
+use HTML::Widgets::SelectLayers;
 use FS::SelfService qw( signup_info new_customer );
 
 #acceptable payment methods
@@ -139,7 +141,7 @@ if ( -e $decline_html ) {
 
 $cgi = new CGI;
 
-$init_data = signup_info( 'agentnum'   => $agentnum,
+$init_data = signup_info( 'agentnum'   => $agentnum || scalar($cgi->param('agentnum')),
                           'promo_code' => scalar($cgi->param('promo_code')),
                           'reg_code'   => uc(scalar($cgi->param('reg_code'))),
                         );
@@ -229,6 +231,7 @@ if ( $magic eq 'process' || $action eq 'process_signup' ) {
                 invoicing_list referral_custnum promo_code reg_code
                 pkgpart refnum agentnum
                 username sec_phrase _password popnum
+                mac_addr
                 countrycode phonenum sip_password pin
               ),
             grep { /^snarf_/ } $cgi->param
@@ -317,8 +320,14 @@ sub print_collect {
 }
 
 sub print_decline {
+  my $r = {
+    %{$init_data},
+  };
+
   print $cgi->header( '-expires' => 'now' ),
-        $decline_template->fill_in();
+        $decline_template->fill_in( PACKAGE => 'FS::SelfService::_signupcgi',
+                                    HASH    => $r
+                                  );
 }
 
 sub print_okay {
@@ -386,6 +395,8 @@ sub print_okay {
     print $cgi->header( '-expires' => 'now' ),
           $success_template->fill_in( HASH => {
 
+            %{$init_data},
+
             email_name     => $email_name,
             pkg            => $pkg,
             part_pkg       => \$part_pkg,