X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=fs_selfservice%2FFS-SelfService%2Fcgi%2Fsignup.cgi;h=5c9d11c0168a9a07e0635a40662ae154ea226f90;hb=0e7c29b192fff137d3b9167b29633a94f94b995f;hp=02acf14aaf629862929e134006126ab8ac52b239;hpb=90393980e5f2859ee1e186fa461f48f5129e803e;p=freeside.git diff --git a/fs_selfservice/FS-SelfService/cgi/signup.cgi b/fs_selfservice/FS-SelfService/cgi/signup.cgi index 02acf14aa..5c9d11c01 100755 --- a/fs_selfservice/FS-SelfService/cgi/signup.cgi +++ b/fs_selfservice/FS-SelfService/cgi/signup.cgi @@ -229,10 +229,11 @@ if ( $magic eq 'process' || $action eq 'process_signup' ) { payby payinfo paycvv paydate payname paystate paytype invoicing_list referral_custnum promo_code reg_code + override_ban_warn pkgpart refnum agentnum username sec_phrase _password popnum mac_addr - countrycode phonenum sip_password pin + countrycode phonenum sip_password pin prepaid_shortform ), grep { /^snarf_/ } $cgi->param ), @@ -249,10 +250,19 @@ if ( $magic eq 'process' || $action eq 'process_signup' ) { qw( popup_url reference amount ); print_collect($rv); } elsif ( $error ) { + #fudge the snarf info no strict 'refs'; ${$_} = $cgi->param($_) foreach grep { /^snarf_/ } $cgi->param; + + if ( $error =~ /^_duplicate_(card|ach)$/ ) { + my $what = ($1 eq 'card') ? 'Credit card' : 'Electronic check'; + $error = "Warning: $what already used to sign up recently"; + $init_data->{'override_ban_warn'} = 1; + } + print_form(); + } else { print_okay( 'pkgpart' => scalar($cgi->param('pkgpart')), @@ -277,7 +287,7 @@ if ( $magic eq 'process' || $action eq 'process_signup' ) { sub print_form { - $error = "Error: $error" if $error; + $error = "Error: $error" if $error && $error !~ /^Warning:/i; my $r = { $cgi->Vars, @@ -292,6 +302,8 @@ sub print_form { #$cgi->delete('init_popstate'); $r->{self_url} = $cgi->self_url; + $r->{prepaid_shortform} = $cgi->param('prepaid_shortform'); + print $cgi->header( '-expires' => 'now' ), $signup_template->fill_in( PACKAGE => 'FS::SelfService::_signupcgi', HASH => $r