This commit was generated by cvs2svn to compensate for changes in r8690,
[freeside.git] / fs_selfservice / FS-SelfService / cgi / change_pay.html
1 <%= $url = "$selfurl?session=$session_id;action="; ''; %>
2 <%= include('header') %>
3
4 <FONT SIZE=4>Change payment information</FONT><BR><BR>
5 <%= if ( $error ) { 
6   $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error: $error</FONT><BR><BR>!;
7   }  ''; %>
8
9 <FORM NAME="OneTrueForm" METHOD="POST" ACTION="<%=$selfurl%>" onSubmit="document.OneTrueForm.process.disabled=true">
10 <%=
11   use Tie::IxHash;
12   use HTML::Widgets::SelectLayers;
13
14   my $preauto = '<TR><TD COLSPAN=3><INPUT TYPE="checkbox" NAME="auto" VALUE="1"';
15   my $postauto = '>Charge future payments to this card automatically</TD></TR>';
16
17   my $tail = qq(</TABLE><INPUT TYPE="hidden" NAME="session" VALUE="$session_id">). 
18              qq(<INPUT TYPE="hidden" NAME="action" VALUE="process_change_pay">).
19              qq(<BR>).
20              qq(<INPUT TYPE="submit" NAME="process" ).
21              qq(VALUE="Save payment information"> ).
22              qq(<!-- onClick="this.disabled=true"> -->);
23
24
25   my %paybychecked = (
26     'BILL' => include('bill'),
27     'CARD' => include('card')."$preauto CHECKED $postauto",
28     'DCRD' => include('card')."$preauto $postauto",
29     'CHEK' => include('check')."$preauto CHECKED $postauto",
30     'DCHK' => include('check')."$preauto $postauto",
31   );
32   my %payby_index = ( 'CARD'   => qq/Credit Card/,
33                       'DCRD'   => qq/Credit Card/,
34                       'CHEK'   => qq/Check/,
35                       'DCHK'   => qq/Check/,
36                       'LECB'   => qq/Phone Bill Billing/,
37                       'BILL'   => qq/Billing/,
38                       'COMP'   => qq/Complimentary/,
39                       'PREP'   => qq/Prepaid Card/,
40                       'PREPAY' => qq/Prepaid Card/,
41                     );
42   tie my %options, 'Tie::IxHash', ();
43   foreach my $payby_option ( grep { exists( $payby_index{$_} ) } @paybys ) {
44     $options{$payby_option} = $payby_index{$payby_option};
45   }
46   $options{$payby} = $payby_index{$payby}
47     unless exists($options{$payby});
48
49   #don't want to show multiple "Credit card" or "Check" options
50   my %paybyremove = (
51     'CARD' => 'DCRD',
52     'DCRD' => 'CARD',
53     'CHEK' => 'DCHK',
54     'DCHK' => 'CHEK',
55   );
56   delete( $options{ $paybyremove{$payby} } );
57   delete $options{'DCRD'} unless $payby eq 'DCRD' || ! exists $options{'CARD'};
58   delete $options{'DCHK'} unless $payby eq 'DCHK' || ! exists $options{'CHEK'};
59
60   HTML::Widgets::SelectLayers->new(
61     options => \%options,
62     selected_layer => $payby,
63 #    form_name => 'dummy',
64 #    form_action => 'dummy.cgi',
65     layer_callback => sub { my $layer = shift; return '<TABLE BGCOLOR="#cccccc">'.$paybychecked{$layer}.qq!<INPUT TYPE="hidden" NAME="payby" VALUE="$layer">$tail!; },
66   )->html;
67
68 %>
69
70 <%= include('footer') %>