1 [% PROCESS "default/opac/parts/header.tt2";
2 PROCESS "default/opac/parts/misc_util.tt2";
3 WRAPPER "default/opac/parts/myopac/main_base.tt2";
5 myopac_main_page = "main";
8 [% IF ctx.fines.circulation.size > 0 %]
9 <div id='myopac_circ_trans_div'>
10 <table width='100%' class='data_grid'>
13 <td colspan='10' style='padding: 6px'>
14 <strong>[% l("Fines") %]</strong>
18 <td>[% l("Title") %]</td>
19 <td>[% l("Author") %]</td>
20 <td>[% l("Checkout Date") %]</td>
21 <td>[% l("Due Date") %]</td>
22 <td>[% l("Date Returned") %]</td>
23 <td>[% l("Balance Owed") %]</td>
24 <!-- TODO: hidden until pay-fines is implemented
25 <td nowrap="nowrap" style="white-space:nowrap;">
26 <input id="pay_fines_box1" checked="checked"
27 type="checkbox" title="[% l('Click to (un)select all fines') %]" />
28 <label for="pay_fines_box1">[% l('Pay Fines') %]</label>
33 <tbody id='myopac_circ_trans_tbody'>
34 [% FOR f IN ctx.fines.circulation;
35 attrs = {marc_xml => f.marc_xml};
36 PROCESS get_marc_attrs args=attrs %]
37 <tr id='myopac_circ_trans_row'>
39 <a href="[% ctx.opac_root %]/record/[% f.xact.circulation.target_copy.call_number.record.id %]">[% attrs.title %]</a>
42 <a href="[% ctx.opac_root %]/results?qtype=author&query=[% attrs.author | replace('[,\.:;]', '') | url %]">[% attrs.author %]</a>
44 <td name='myopac_circ_trans_start'>
47 f.xact.circulation.xact_start
51 <td name='myopac_circ_trans_due'>
54 f.xact.circulation.due_date
58 <td name='myopac_circ_trans_finished'>
59 [% IF f.xact.circulation.checkin_time;
62 f.xact.circulation.checkin_time
66 <!-- XXX TODO fines aren't really accruing
67 if circ has hit maxfines. more clarity
69 <span class="red">[% l('(fines accruing)') %]</span>
74 [% money(f.xact.balance_owed) %]
77 <!-- TODO: hidden until pay-fines is implemented
79 <input type="checkbox" name="selector" title="[% l('Pay this fine') %]" />
89 [% IF ctx.fines.grocery.size > 0 %]
90 <!-- Table for all non-circulation transactions -->
91 <div id='myopac_trans_div'>
93 <hr class='opac-auto-013' color="#dcdbdb" />
95 <table width='100%' class='data_grid data_grid_center'
96 id='myopac_trans_table'>
99 <td colspan='8' style='padding: 6px'>
100 <b>[% l("Other Fees") %]</b>
104 <td width='16%'>[% l("Transaction Start Time") %]</td>
105 <td width='16%'>[% l("Last Payment Time") %]</td>
106 <td width='16%'>[% l("Initial Amount Owed") %]</td>
107 <td width='16%'>[% l("Total Amount Paid") %]</td>
108 <td width='16%'>[% l("Balance Owed") %]</td>
109 <td width='16%'>[% l("Billing Type") %]</td>
110 <!-- TODO: hidden until pay-fines is implemented
111 <td width='4%' align="center" nowrap="nowrap"
112 style="white-space:nowrap;">
113 <input id="pay_fines_box2" checked="checked"
115 title="[% l('Click to (un)select all fines') %]" />
116 <label for="pay_fines_box2">[% l("Pay Fines") %]</label>
121 <tbody id='myopac_trans_tbody'>
122 [% FOR f IN ctx.fines.grocery %]
123 <tr id='myopac_trans_row'>
125 ctx.parse_datetime(f.xact.xact_start),
129 [% IF f.xact.last_payment_ts;
132 f.xact.last_payment_ts
137 <td>[% money(f.xact.total_owed) %]</td>
138 <td>[% money(f.xact.total_paid) %]</td>
141 [% money(f.xact.balance_owed) %]
144 <td>[% f.xact.last_billing_type %]</td>
145 <!-- TODO: hidden until pay-fines is implemented
147 <input type="checkbox" name='selector' title='[% l("Pay this fine") %]'/>
157 <!-- TODO: move payment form to its own page -->
159 <div id="pay_fines_now" class="hide_me">
160 <table id='oils-selfck-cc-payment-table'>
163 <td><div style="width:129px;"></div></td>
164 <td><div style="width:195px;"></div></td>
165 <td><div style="width:324px;"></div></td>
168 <td colspan='2'><strong>Billing Information</strong></td>
169 <td rowspan='13' valign='top'>
170 Selected fines you are paying for:
171 <table cellpadding="0" cellspacing="5" border="0">
175 <strong>Name</strong>
178 <strong>Amount</strong>
182 <tbody id="selectedFines">
186 <div id='oils-selfck-cc-payment-summary'>
188 <strong>$<span></span></strong>
191 Click <strong>Cancel</strong> to go back and (un)select
197 <td><input jsId='oilsSelfckCCFName' /></td>
201 <td><input jsId='oilsSelfckCCLName' /></td>
204 <td>Street Address</td>
205 <td><input jsId='oilsSelfckCCStreet' /></td>
209 <td><input jsId='oilsSelfckCCCity' /></td>
212 <td>State or Province</td>
213 <td><input jsId='oilsSelfckCCState' /></td>
216 <td>ZIP or Postal Code</td>
217 <td><input jsId='oilsSelfckCCZip' /></td>
220 <td colspan='2'><strong>Credit Card Information</strong></td>
222 <!-- Technically not needed since card type is derived from the CC number
224 <td>Type of Card</td>
226 <select jsId='oilsSelfckCCType' required='true'>
227 <option value='VISA'>VISA</option>
228 <option value='MasterCard'>MasterCard</option>
229 <option value='American Express'>American Express</option>
235 <td>Credit Card #</td>
236 <td><input jsId='oilsSelfckCCNumber' /></td>
240 <div style="position:absolute;">
241 <div style="position:relative;left:80px;">
243 src="[% ctx.media_prefix %]/images/question-mark.png" /></a>
249 <input jsId='oilsSelfckCCCVV' />
253 <td>Exipration Month</td>
255 <select jsId='oilsSelfckCCMonth'>
256 <option value='01' selected='selected'>January</option>
257 <option value='02'>February</option>
258 <option value='03'>March</option>
259 <option value='04'>April</option>
260 <option value='05'>May</option>
261 <option value='06'>June</option>
262 <option value='07'>July</option>
263 <option value='08'>August</option>
264 <option value='09'>September</option>
265 <option value='10'>October</option>
266 <option value='11'>November</option>
267 <option value='12'>December</option>
272 <td>Expiration Year</td>
274 <select jsId='oilsSelfckCCYear'>
275 <option value='2011'>2011</option>
276 <option value='2012'>2012</option>
277 <option value='2013'>2013</option>
278 <option value='2014'>2014</option>
279 <option value='2015'>2015</option>
280 <option value='2016'>2016</option>
281 <option value='2017'>2017</option>
282 <option value='2018'>2018</option>
283 <option value='2019'>2019</option>
288 <td>Edit Billing Address</td>
290 <input jsId='oilsSelfckEditDetails'/>
294 <td colspan='2' align="center">
295 <button jsId='oilsSelfckCCSubmit'>
306 Important! You must have a printed receipt to be
307 eligible for a refund on lost items (regulations allow
311 To ensure your necessary receipt information is
312 not lost, enter your email address above and a
313 receipt will be emailed to you. Otherwise, make
314 certain you have a printed receipt in hand before
315 closing the payment receipt screen.
318 Refunds are not available for parts and pieces, overdue
319 fines, or items that do not display a specific title in
320 My Account. For a full list of refundable and
321 non-refundable items, visit
322 <a href="http://www.kcls.org/usingthelibrary/borrowing/refundable.cfm">http://www.kcls.org/usingthelibrary/borrowing/refundable.cfm</a><br /><br />
323 This site uses VeriSign SSL encryption to ensure your