started a payments history view, from which receipts can be printed/emailed
authorBill Erickson <berick@esilibrary.com>
Tue, 8 Feb 2011 22:35:31 +0000 (17:35 -0500)
committerBill Erickson <berick@esilibrary.com>
Tue, 8 Feb 2011 22:35:31 +0000 (17:35 -0500)
Open-ILS/web/opac/common/js/config.js
Open-ILS/web/opac/skin/kcls/js/myopac.js
Open-ILS/web/opac/skin/kcls/xml/myopac/myopac_summary.xml

index 054e56a..2b3546e 100644 (file)
@@ -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";
index 12746e5..0b884c0 100644 (file)
@@ -1373,6 +1373,43 @@ function myOPACShowTransactions(r) {
                if(trans.xact_type() == 'circulation') myOPACShowCircTransaction(trans, record, circ);\r
                else if(trans.xact_type() == 'grocery') myopacShowGenericTransaction( trans );\r
        }\r
+\r
+    myopacDrawPayments(); // XXX\r
+}\r
+\r
+function myopacDrawPayments() {\r
+\r
+    var before = new Date()\r
+    before.setFullYear(before.getFullYear() - 1);\r
+    // KCLS limits payment history view to 1 year.  This will eventually be expanded \r
+    // out to a history view page, but for now, just fetch what's needed.\r
+    var req = new Request(FETCH_PAYMENTS, G.user.session, G.user.id(), \r
+        {"where":{"payment_ts":{">=":dojo.date.stamp.toISOString(before)}}});\r
+\r
+    req.callback(_myopacDrawPayments);\r
+    req.send();\r
+}\r
+\r
+function _myopacDrawPayments(r) {\r
+\r
+    var payments = r.getResultObject();\r
+    var tbody = $('myopac_payments_tbody');\r
+    rowTmpl = tbody.removeChild($('myopac_payments_tmpl'));\r
+\r
+    dojo.forEach(payments,\r
+        function(payment) {\r
+            var row = rowTmpl.cloneNode(true);\r
+            $n(row, 'date').innerHTML =  dojo.date.locale.format( \r
+                dojo.date.stamp.fromISOString(payment.mp.payment_ts()),\r
+                {selector:'date', fullYear: true}\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 () { alert('print receipt'); }\r
+            $n(row, 'email_recpt').onclick = function () { alert('email receipt'); }\r
+            tbody.appendChild(row);\r
+        }\r
+    );\r
 }\r
 \r
 function myopacShowGenericTransaction( trans ) {\r
index 98381f7..37ce7f6 100644 (file)
                </tbody>\r
        </table>\r
 \r
+    <div id='myopac_payments_div' class=''>\r
+        <div><b>Payments</b></div>\r
+               <table width='100%' class='data_grid data_grid_center' id='myopac_payments_table'>\r
+            <thead><tr>\r
+                <th>Payment Date</th>\r
+                <th>Payment For</th>\r
+                <th>Amount</th>\r
+                <th>Receipt</th>\r
+            </tr></thead>\r
+            <tbody id='myopac_payments_tbody'>\r
+                <tr id='myopac_payments_tmpl'>\r
+                    <td name='date'/>\r
+                    <td name='for'/> <!-- title links? -->\r
+                    <td name='amount'>$</td>\r
+                    <td>\r
+                        <a href='javascript:;' name='print_recpt'>Print</a> / <a href='javascript:;' name='email_recpt'>Email</a>\r
+                    </td>\r
+                </tr>\r
+            </tbody>\r
+        </table>\r
+    </div>\r
+\r
        <!--\r
        <div id='accrue_explanation' class='hide_me'>\r
                <span>Transactions whose balances are marked with a</span>\r