support paying all fines at once
[evergreen-equinox.git] / Open-ILS / web / templates / default / opac / myopac / main_payment_form.tt2
1 [%  PROCESS "default/opac/parts/header.tt2";
2     PROCESS "default/opac/parts/misc_util.tt2";
3     WRAPPER "default/opac/parts/myopac/main_base.tt2";
4     myopac_page = "main";
5     myopac_main_page = "payment_form";
6 %]
7 <div id="pay_fines_now">
8     <form action="[% ctx.opac_root %]/myopac/pay" method="POST">
9         [% FOR xact IN CGI.param('xact') %]
10         <input type="hidden" name="xact" value="[% xact | html %]" />
11         [% END %]
12         <table>
13             <tbody>
14                 <tr>
15                     <td colspan='2'><strong>[% l('Billing Information') %]</strong></td>
16                     <td rowspan='13' valign='top'>
17                         [% l('Selected fines you are paying for:') %]
18                         <table cellpadding="0" cellspacing="5" border="0">
19                             <thead>
20                                 <tr>
21                                     <th>[% l('Name') %]</th>
22                                     <th>[% l('Amount') %]</th>
23                                 </tr>
24                             </thead>
25                             <tbody>
26                             [%
27                             pay_total = 0.0;
28                             FOR f IN ctx.fines.circulation;
29                                 NEXT IF CGI.param('xact').size &&
30                                     !CGI.param('xact').grep(f.xact.id).size;
31                                 attrs = {marc_xml => f.marc_xml};
32                                 IF f.marc_xml;
33                                     PROCESS get_marc_attrs args=attrs;
34                                 ELSIF f.xact.reservation;
35                                     attrs.title = f.xact.reservation.target_resource_type.name;
36                                 END;
37                                 # XXX use fixed point math
38                                 pay_total = pay_total + f.xact.balance_owed; %]
39                                 <tr>
40                                     <td>[% attrs.title %]</td>
41                                     <td class="text-right">[% money(f.xact.balance_owed) %]</td>
42                                 </tr>
43                             [%
44                             END;
45                             FOR f IN ctx.fines.grocery;
46                                 NEXT IF CGI.param('xact').size &&
47                                     !CGI.param('xact').grep(f.xact.id).size;
48                                 # XXX use fixed point math
49                                 pay_total = pay_total + f.xact.balance_owed; %]
50                                 <tr>
51                                     <td>[% f.xact.last_billing_type %]</td>
52                                     <td class="text-right">[% money(f.xact.balance_owed) %]</td>
53                                 </tr>
54                             [% END %]
55                             </tbody>
56                         </table>
57                         <br />
58                         <div>
59                             [% l('Total amount to pay:') %]
60                             [%# XXX TODO: calculate pay_total not here in the
61                             template but rather in the mod_perl, and only
62                             proceed when that number is positive %]
63                             <strong>[% money(pay_total) %]</strong>
64                         </div>
65                         <br />
66                         [% | l('<strong>', '</strong>') %]Click [_1]Cancel[_2] to go back and (un)select other fines.[% END %]
67                     </td>
68                 </tr>
69                 <tr>
70                     <td>[% l('First Name') %]</td>
71                     <td><input type="text" name="billing_first" value="[% ctx.user.first_given_name | html %]" /></td>
72                 </tr>
73                 <tr>
74                     <td>[% l('Last Name') %]</td>
75                     <td><input type="text" name="billing_last" value="[% ctx.user.family_name | html %]" /></td>
76                 </tr>
77                 <tr>
78                     <td>[% l('Street Address') %]</td>
79                     <td><input type="text" name="billing_address" value="[% ctx.user.billing_address.street1 _ ctx.user.billing_address.street2 | html %]" /></td>
80                 </tr>
81                 <tr>
82                     <td>[% l('City' )%]</td>
83                     <td><input type="text" name="billing_city" value="[% ctx.user.billing_address.city | html %]" /></td>
84                 </tr>
85                 <tr>
86                     <td>[% l('State or Province') %]</td>
87                     <td><input type="text" name="billing_state" value="[% ctx.user.billing_address.state | html %]" /></td>
88                 </tr>
89                 <tr>
90                     <td>[% l('ZIP or Postal Code') %]</td>
91                     <td><input type="text" name="billing_zip" value="[% ctx.user.billing_address.post_code | html %]" /></td>
92                 </tr>
93                 <tr>
94                   <td colspan='2'><strong>[% l('Credit Card Information') %]</strong></td>
95                 </tr>
96                 <!-- Technically not needed since card type is derived from the CC number
97                 <tr>
98                     <td>Type of Card</td>
99                     <td>
100                         <select name="type">
101                             <option value='VISA'>VISA</option>
102                             <option value='MasterCard'>MasterCard</option>
103                             <option value='American Express'>American Express</option>
104                         </select>
105                     </td>
106                 </tr>
107                 -->
108                 <tr>
109                     <td>[% l('Credit Card #') %]</td>
110                     <td><input type="text" name="number" maxlength="16" /></td>
111                 </tr>
112                 <tr>
113                     <td>
114                         <div style="position:absolute;">
115                             <div style="position:relative;left:80px;">
116                                 <a href="#"><img
117                                     src="[% ctx.media_prefix %]/images/question-mark.png" /></a>
118                             </div>
119                         </div>
120                         [% l('Security Code') %]
121                     </td>
122                     <td>
123                         <input type="text" size="4" maxlength="5" name="cvv2" />
124                     </td>
125                 </tr>
126                 <tr>
127                     <td>[% l('Exipration Month') %]</td>
128                     <td>
129                         <select name="expire_month">
130                             <option value="01">[% l("January") %]</option>
131                             <option value="02">[% l("February") %]</option>
132                             <option value="03">[% l("March") %]</option>
133                             <option value="04">[% l("April") %]</option>
134                             <option value="05">[% l("May") %]</option>
135                             <option value="06">[% l("June") %]</option>
136                             <option value="07">[% l("July") %]</option>
137                             <option value="08">[% l("August") %]</option>
138                             <option value="09">[% l("September") %]</option>
139                             <option value="10">[% l("October") %]</option>
140                             <option value="11">[% l("November") %]</option>
141                             <option value="12">[% l("December") %]</option>
142                         </select>
143                     </td>
144                 </tr>
145                 <tr>
146                     <td>[% l('Expiration Year') %]</td>
147                     <td>
148                         <select name="expire_year">
149                         [% year = date.format(date.now, '%Y');
150                         y = year;
151                         WHILE y < year + 10; # show ten years starting now %]
152                             <option value="[% y %]">[% y %]</option>
153                         [% y = y + 1; END %]
154                         </select>
155                     </td>
156                 </tr>
157                 <tr>
158                     <td colspan='2' align="center">
159                         <input type="submit" value="[% l('Submit Payment') %]" />
160                         <input type="reset" value="[% l('Cancel') %]"
161                             onclick="location.history.go(-1);" />
162                     </td>
163                 </tr>
164                 [% INCLUDE "default/opac/myopac/main_refund_policy.tt2" %]
165             </tbody>
166         </table>
167     </form>
168 </div>
169 [% END %]