From 9a5cf5a47bf4d48643785cb3346c277b8d60cb53 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Tue, 8 Feb 2011 17:35:31 -0500 Subject: [PATCH] started a payments history view, from which receipts can be printed/emailed --- Open-ILS/web/opac/common/js/config.js | 1 + Open-ILS/web/opac/skin/kcls/js/myopac.js | 37 ++++++++++++++++++++++ .../opac/skin/kcls/xml/myopac/myopac_summary.xml | 22 +++++++++++++ 3 files changed, 60 insertions(+) diff --git a/Open-ILS/web/opac/common/js/config.js b/Open-ILS/web/opac/common/js/config.js index 054e56a154..2b3546edca 100644 --- a/Open-ILS/web/opac/common/js/config.js +++ b/Open-ILS/web/opac/common/js/config.js @@ -320,6 +320,7 @@ var FETCH_CHECKED_OUT_SUM = "open-ils.actor:open-ils.actor.user.checked_out"; var FETCH_HOLDS = "open-ils.circ:open-ils.circ.holds.retrieve"; var FETCH_FINES_SUMMARY = "open-ils.actor:open-ils.actor.user.fines.summary"; var FETCH_TRANSACTIONS = "open-ils.actor:open-ils.actor.user.transactions.have_charge.fleshed"; +var FETCH_PAYMENTS = "open-ils.actor:open-ils.actor.user.payments.retrieve"; var FETCH_MONEY_BILLING = 'open-ils.circ:open-ils.circ.money.billing.retrieve.all'; var FETCH_CROSSREF = "open-ils.search:open-ils.search.authority.crossref"; var FETCH_CROSSREF_BATCH = "open-ils.search:open-ils.search.authority.crossref.batch"; diff --git a/Open-ILS/web/opac/skin/kcls/js/myopac.js b/Open-ILS/web/opac/skin/kcls/js/myopac.js index 12746e5783..0b884c01c7 100644 --- a/Open-ILS/web/opac/skin/kcls/js/myopac.js +++ b/Open-ILS/web/opac/skin/kcls/js/myopac.js @@ -1373,6 +1373,43 @@ function myOPACShowTransactions(r) { if(trans.xact_type() == 'circulation') myOPACShowCircTransaction(trans, record, circ); else if(trans.xact_type() == 'grocery') myopacShowGenericTransaction( trans ); } + + myopacDrawPayments(); // XXX +} + +function myopacDrawPayments() { + + var before = new Date() + before.setFullYear(before.getFullYear() - 1); + // KCLS limits payment history view to 1 year. This will eventually be expanded + // out to a history view page, but for now, just fetch what's needed. + var req = new Request(FETCH_PAYMENTS, G.user.session, G.user.id(), + {"where":{"payment_ts":{">=":dojo.date.stamp.toISOString(before)}}}); + + req.callback(_myopacDrawPayments); + req.send(); +} + +function _myopacDrawPayments(r) { + + var payments = r.getResultObject(); + var tbody = $('myopac_payments_tbody'); + rowTmpl = tbody.removeChild($('myopac_payments_tmpl')); + + dojo.forEach(payments, + function(payment) { + var row = rowTmpl.cloneNode(true); + $n(row, 'date').innerHTML = dojo.date.locale.format( + dojo.date.stamp.fromISOString(payment.mp.payment_ts()), + {selector:'date', fullYear: true} + ); + $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 () { alert('print receipt'); } + $n(row, 'email_recpt').onclick = function () { alert('email receipt'); } + tbody.appendChild(row); + } + ); } function myopacShowGenericTransaction( trans ) { 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 98381f7dec..37ce7f67b1 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,28 @@ +
+
Payments
+ + + + + + + + + + + + + +
Payment DatePayment ForAmountReceipt
+ + $ + Print / Email +
+
+