removeChildren($('myopac_trans_tbody'));\r
removeChildren($('myopac_circ_trans_tbody'));\r
transCache = [];\r
+\r
+ transactions = transactions.sort(\r
+ function(a, b) {\r
+ if(a.transaction.xact_start() < b.transaction.xact_start())\r
+ return 1;\r
+ else return -1;\r
+ }\r
+ );\r
\r
for( var idx in transactions ) {\r
var trans = transactions[idx].transaction;\r
);\r
$n(row, 'for').innerHTML = (payment.title) ? payment.title : payment.last_billing_type;\r
$n(row, 'amount').innerHTML += Number(payment.mp.amount()).toFixed(2);\r
- $n(row, 'print_recpt').onclick = function () { printPaymentReceipt([payment.mp.id()]) };\r
- $n(row, 'email_recpt').onclick = function () { emailPaymentReceipt([payment.mp.id()]) };\r
+ if(payment.mp.payment_type() == 'credit_card_payment') {\r
+ $n(row, 'print_recpt').onclick = function () { printPaymentReceipt([payment.mp.id()]) };\r
+ $n(row, 'email_recpt').onclick = function () { emailPaymentReceipt([payment.mp.id()]) };\r
+ } else {\r
+ $n(row, 'print_recpt').parentNode.style.visibility = 'hidden';\r
+ }\r
tbody.appendChild(row);\r
}\r
);\r
);\r
}\r
\r
+function dateFromISO(d) {\r
+ if(!d) return '';\r
+ return dojo.date.locale.format( \r
+ dojo.date.stamp.fromISOString(d),\r
+ {selector:'date', fullYear: true}\r
+ );\r
+}\r
+\r
function myopacShowGenericTransaction( trans ) {\r
var tbody = $('myopac_trans_tbody');\r
\r
var row = myopacGenericTransTemplate.cloneNode(true);\r
- $n(row,'myopac_trans_start').appendChild(text(_trimSeconds(trans.xact_start())));\r
- $n(row,'myopac_trans_last_payment').appendChild(text(_trimSeconds(trans.last_payment_ts())));\r
+ $n(row,'myopac_trans_start').appendChild(text(dateFromISO(trans.xact_start())));\r
+ $n(row,'myopac_trans_last_payment').appendChild(text(dateFromISO(trans.last_payment_ts())));\r
$n(row,'myopac_trans_init_amount').appendChild(text(_finesFormatNumber(trans.total_owed())));\r
$n(row,'myopac_trans_total_paid').appendChild(text(_finesFormatNumber(trans.total_paid())));\r
$n(row,'myopac_trans_balance').appendChild(text(_finesFormatNumber(trans.balance_owed())));\r
}\r
}\r
\r
- $n(row,'myopac_circ_trans_start').appendChild(text(_trimTime(trans.xact_start())));\r
+ $n(row,'myopac_circ_trans_start').appendChild(text(dateFromISO(trans.xact_start())));\r
\r
- var due = _trimTime(circ.due_date());\r
- var checkin = _trimTime(circ.stop_fines_time());\r
+ var due = dateFromISO(circ.due_date());\r
+ var checkin = dateFromISO(circ.stop_fines_time());\r
\r
$n(row,'myopac_circ_trans_due').appendChild(text(due))\r
if(checkin) appendClear($n(row,'myopac_circ_trans_finished'), text(checkin));\r
function showPaymentForm() {\r
unHideMe($('pay_fines_now'));\r
hideMe($('acct_sum'));\r
+ hideMe($('cc-payment-error-message'));\r
drawPayFinesPage(\r
G.user,\r
getSelectedFinesTotal(),\r
getSelectedFineTransactions(),\r
function(resp) {\r
+ unHideMe($('cc-payment-error-message'));\r
if(resp.textcode) {\r
var message = resp.textcode+'\n'+resp.desc + '';\r
if(resp.textcode == 'CREDIT_PROCESSOR_DECLINED_TRANSACTION' && resp.payload)\r
message += '\n' + resp.payload.error_message;\r
- alert(message);\r
+ alert(js2JSON(resp));\r
+ $('cc-payment-error-message').innerHTML = message;\r
return;\r
}\r
G.user.last_xact_id(resp.last_xact_id); // update to match latest from server\r
- alert('Payment Successful\nTRANSACTION ID: '+resp.last_xact_id);\r
+ $('cc-payment-error-message').innerHTML = 'Payment Successful\nTRANSACTION ID: '+resp.last_xact_id;\r
printPaymentReceipt(resp.payments);\r
hideMe($('pay_fines_now'));unHideMe($('acct_sum'));\r
finesShown = false;\r
</tbody>\r
</table>\r
\r
+ <!-- tab-like options for selection Fines or Payments view -->\r
<style>\r
.myopac_xact_tab { font-size: 150%; border: 1px solid #888; background: #3399cc;}\r
.myopac_xact_tab_selected { background: #FFF; }\r
addCSSClass($("myopac_fines_tab_link").parentNode, "myopac_xact_tab_selected");\r
removeCSSClass($("myopac_payments_tab_link").parentNode, "myopac_xact_tab_selected");'>Fines</a>\r
</span>\r
- <span class='myopac_xact_tab'>\r
+ <span class='myopac_xact_tab' style='margin-left: 15px;'>\r
<a href='javascript:;' id='myopac_payments_tab_link' onclick='myopacDrawPayments()'>Payments</a>\r
</span>\r
</div>\r
<td>&myopac.fines.returned;</td>\r
<td>&myopac.fines.balance;</td>\r
<td align="center" nowrap="nowrap" style="white-space:nowrap;"><label for="pay_fines_box1">Pay Fines</label><br />\r
- <input id="pay_fines_box1" checked="checked" type="checkbox" \r
+ <input id="pay_fines_box1" type="checkbox" \r
onclick="checkAll($('myopac_circ_trans_tbody'), this, 'selector');" class="" title="Click to (un)select all fines" />\r
</td>\r
</tr>\r
<td name='myopac_circ_trans_due'> </td>\r
<td name='myopac_circ_trans_finished'><span style='color:red;'>&myopac.fines.accruing;</span></td>\r
<td><span style='color: red; font-weight: bold;' name='myopac_circ_trans_balance'>&common.currency;</span></td>\r
- <td align="center"><input type="checkbox" class="" checked="checked" name="selector" title="pay this fine" /></td>\r
+ <td align="center"><input type="checkbox" class="" name="selector" title="pay this fine" /></td>\r
</tr>\r
</tbody>\r
</table>\r
<thead>\r
<tr><td colspan='8' style='padding: 6px'><b>&myopac.fines.other;</b></td></tr>\r
<tr>\r
- <td width='16%'>&myopac.fines.time.start;</td>\r
+ <td width='16%'>Date Applied</td>\r
<td width='16%'>&myopac.fines.time.paid;</td>\r
<td width='16%'>&myopac.fines.owed.initial;</td>\r
<td width='16%'>&myopac.fines.paid.amount;</td>\r
<td width='16%'>&myopac.fines.balance;</td>\r
<td width='16%'>&myopac.fines.type;</td>\r
- <td width='4%' align="center" nowrap="nowrap" style="white-space:nowrap;"><label for="pay_fines_box2">Pay Fines</label><br /><input id="pay_fines_box2" checked="checked" class="" type="checkbox" onclick="checkAll($('myopac_trans_tbody'), this, 'selector');" title="Click to (un)select all fines" /></td>\r
+ <td width='4%' align="center" nowrap="nowrap" style="white-space:nowrap;"><label for="pay_fines_box2">Pay Fines</label><br /><input id="pay_fines_box2" class="" type="checkbox" onclick="checkAll($('myopac_trans_tbody'), this, 'selector');" title="Click to (un)select all fines" /></td>\r
</tr>\r
</thead>\r
\r
<span name='myopac_trans_balance'>&common.currency;</span>\r
</td>\r
<td name='myopac_trans_bill_type'> </td>\r
- <td align="center"><input type="checkbox" name='selector' title='pay this fine' checked="checked" /></td>\r
+ <td align="center"><input type="checkbox" name='selector' title='pay this fine' /></td>\r
</tr>\r
</tbody>\r
</table>\r
</div>\r
\r
<div id="pay_fines_now" class="hide_me">\r
+<div id='cc-payment-error-message' style='font-weight: bold; color: red; padding: 10px; border: 1px solid #888' class='hide_me'/>\r
<table id='oils-selfck-cc-payment-table'>\r
<tbody>\r
<tr>\r