From 2a7e2d42180a38dbfe69d9e3ce62161f362af7b4 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Wed, 9 Feb 2011 14:20:14 -0500 Subject: [PATCH] sort xacts newest to oldest; select no xacts for payment by default; improved date formatting --- Open-ILS/web/opac/skin/kcls/js/myopac.js | 41 +++++++++++++++++----- .../opac/skin/kcls/xml/myopac/myopac_summary.xml | 14 ++++---- 2 files changed, 40 insertions(+), 15 deletions(-) diff --git a/Open-ILS/web/opac/skin/kcls/js/myopac.js b/Open-ILS/web/opac/skin/kcls/js/myopac.js index 1cfbd9423c..168bc5f269 100644 --- a/Open-ILS/web/opac/skin/kcls/js/myopac.js +++ b/Open-ILS/web/opac/skin/kcls/js/myopac.js @@ -1363,6 +1363,14 @@ function myOPACShowTransactions(r) { removeChildren($('myopac_trans_tbody')); removeChildren($('myopac_circ_trans_tbody')); transCache = []; + + transactions = transactions.sort( + function(a, b) { + if(a.transaction.xact_start() < b.transaction.xact_start()) + return 1; + else return -1; + } + ); for( var idx in transactions ) { var trans = transactions[idx].transaction; @@ -1414,8 +1422,12 @@ function _myopacDrawPayments(r) { ); $n(row, 'for').innerHTML = (payment.title) ? payment.title : payment.last_billing_type; $n(row, 'amount').innerHTML += Number(payment.mp.amount()).toFixed(2); - $n(row, 'print_recpt').onclick = function () { printPaymentReceipt([payment.mp.id()]) }; - $n(row, 'email_recpt').onclick = function () { emailPaymentReceipt([payment.mp.id()]) }; + if(payment.mp.payment_type() == 'credit_card_payment') { + $n(row, 'print_recpt').onclick = function () { printPaymentReceipt([payment.mp.id()]) }; + $n(row, 'email_recpt').onclick = function () { emailPaymentReceipt([payment.mp.id()]) }; + } else { + $n(row, 'print_recpt').parentNode.style.visibility = 'hidden'; + } tbody.appendChild(row); } ); @@ -1438,12 +1450,20 @@ function emailPaymentReceipt(paymentIds) { ); } +function dateFromISO(d) { + if(!d) return ''; + return dojo.date.locale.format( + dojo.date.stamp.fromISOString(d), + {selector:'date', fullYear: true} + ); +} + function myopacShowGenericTransaction( trans ) { var tbody = $('myopac_trans_tbody'); var row = myopacGenericTransTemplate.cloneNode(true); - $n(row,'myopac_trans_start').appendChild(text(_trimSeconds(trans.xact_start()))); - $n(row,'myopac_trans_last_payment').appendChild(text(_trimSeconds(trans.last_payment_ts()))); + $n(row,'myopac_trans_start').appendChild(text(dateFromISO(trans.xact_start()))); + $n(row,'myopac_trans_last_payment').appendChild(text(dateFromISO(trans.last_payment_ts()))); $n(row,'myopac_trans_init_amount').appendChild(text(_finesFormatNumber(trans.total_owed()))); $n(row,'myopac_trans_total_paid').appendChild(text(_finesFormatNumber(trans.total_paid()))); $n(row,'myopac_trans_balance').appendChild(text(_finesFormatNumber(trans.balance_owed()))); @@ -1477,10 +1497,10 @@ function myOPACShowCircTransaction(trans, record, circ) { } } - $n(row,'myopac_circ_trans_start').appendChild(text(_trimTime(trans.xact_start()))); + $n(row,'myopac_circ_trans_start').appendChild(text(dateFromISO(trans.xact_start()))); - var due = _trimTime(circ.due_date()); - var checkin = _trimTime(circ.stop_fines_time()); + var due = dateFromISO(circ.due_date()); + var checkin = dateFromISO(circ.stop_fines_time()); $n(row,'myopac_circ_trans_due').appendChild(text(due)) if(checkin) appendClear($n(row,'myopac_circ_trans_finished'), text(checkin)); @@ -1511,20 +1531,23 @@ function showFinesDiv(el) { function showPaymentForm() { unHideMe($('pay_fines_now')); hideMe($('acct_sum')); + hideMe($('cc-payment-error-message')); drawPayFinesPage( G.user, getSelectedFinesTotal(), getSelectedFineTransactions(), function(resp) { + unHideMe($('cc-payment-error-message')); if(resp.textcode) { var message = resp.textcode+'\n'+resp.desc + ''; if(resp.textcode == 'CREDIT_PROCESSOR_DECLINED_TRANSACTION' && resp.payload) message += '\n' + resp.payload.error_message; - alert(message); + alert(js2JSON(resp)); + $('cc-payment-error-message').innerHTML = message; return; } G.user.last_xact_id(resp.last_xact_id); // update to match latest from server - alert('Payment Successful\nTRANSACTION ID: '+resp.last_xact_id); + $('cc-payment-error-message').innerHTML = 'Payment Successful\nTRANSACTION ID: '+resp.last_xact_id; printPaymentReceipt(resp.payments); hideMe($('pay_fines_now'));unHideMe($('acct_sum')); finesShown = false; diff --git a/Open-ILS/web/opac/skin/kcls/xml/myopac/myopac_summary.xml b/Open-ILS/web/opac/skin/kcls/xml/myopac/myopac_summary.xml index f385399c18..38890c40f5 100644 --- a/Open-ILS/web/opac/skin/kcls/xml/myopac/myopac_summary.xml +++ b/Open-ILS/web/opac/skin/kcls/xml/myopac/myopac_summary.xml @@ -46,6 +46,7 @@ +