diff options
Diffstat (limited to 'fs_selfservice/FS-SelfService/cgi/change_pay.html')
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/change_pay.html | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/fs_selfservice/FS-SelfService/cgi/change_pay.html b/fs_selfservice/FS-SelfService/cgi/change_pay.html new file mode 100644 index 000000000..9633e8920 --- /dev/null +++ b/fs_selfservice/FS-SelfService/cgi/change_pay.html @@ -0,0 +1,69 @@ +<%= $url = "$selfurl?session=$session_id;action="; ''; %> +<%= include('header', 'Change payment information') %> + +<%= if ( $error ) { + $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error: $error</FONT><BR><BR>!; + } ''; %> + +<FORM NAME="OneTrueForm" METHOD="POST" ACTION="<%=$selfurl%>" onSubmit="document.OneTrueForm.process.disabled=true"> +<%= + use Tie::IxHash; + use HTML::Widgets::SelectLayers; + + my $preauto = '<TR><TD COLSPAN=3><INPUT TYPE="checkbox" NAME="auto" VALUE="1"'; + my $postauto = '>Charge future payments to this card automatically</TD></TR>'; + + my $tail = qq(</TABLE><INPUT TYPE="hidden" NAME="session" VALUE="$session_id">). + qq(<INPUT TYPE="hidden" NAME="action" VALUE="process_change_pay">). + qq(<BR>). + qq(<INPUT TYPE="submit" NAME="process" ). + qq(VALUE="Save payment information"> ). + qq(<!-- onClick="this.disabled=true"> -->); + + + my %paybychecked = ( + 'BILL' => include('bill'), + 'CARD' => include('card')."$preauto CHECKED $postauto", + 'DCRD' => include('card')."$preauto $postauto", + 'CHEK' => include('check')."$preauto CHECKED $postauto", + 'DCHK' => include('check')."$preauto $postauto", + ); + my %payby_index = ( 'CARD' => qq/Credit Card/, + 'DCRD' => qq/Credit Card/, + 'CHEK' => qq/Check/, + 'DCHK' => qq/Check/, + 'LECB' => qq/Phone Bill Billing/, + 'BILL' => qq/Billing/, + 'COMP' => qq/Complimentary/, + 'PREP' => qq/Prepaid Card/, + 'PREPAY' => qq/Prepaid Card/, + ); + tie my %options, 'Tie::IxHash', (); + foreach my $payby_option ( grep { exists( $payby_index{$_} ) } @paybys ) { + $options{$payby_option} = $payby_index{$payby_option}; + } + $options{$payby} = $payby_index{$payby} + unless exists($options{$payby}); + + #don't want to show multiple "Credit card" or "Check" options + my %paybyremove = ( + 'CARD' => 'DCRD', + 'DCRD' => 'CARD', + 'CHEK' => 'DCHK', + 'DCHK' => 'CHEK', + ); + delete( $options{ $paybyremove{$payby} } ); + delete $options{'DCRD'} unless $payby eq 'DCRD' || ! exists $options{'CARD'}; + delete $options{'DCHK'} unless $payby eq 'DCHK' || ! exists $options{'CHEK'}; + + HTML::Widgets::SelectLayers->new( + options => \%options, + selected_layer => $payby, +# form_name => 'dummy', +# form_action => 'dummy.cgi', + layer_callback => sub { my $layer = shift; return '<TABLE BGCOLOR="#cccccc">'.$paybychecked{$layer}.qq!<INPUT TYPE="hidden" NAME="payby" VALUE="$layer">$tail!; }, + )->html; + +%> + +<%= include('footer') %> |