refresh page after payment is made to clear out stale data; disable payment on <... kcls-opac-ecommerce
authorberick <berick@esilibrary.com>
Fri, 4 Mar 2011 21:38:07 +0000 (16:38 -0500)
committerberick <berick@esilibrary.com>
Fri, 4 Mar 2011 21:38:07 +0000 (16:38 -0500)
Open-ILS/web/opac/skin/kcls/js/myopac.js

index 2434cc0..e1094d0 100644 (file)
@@ -256,7 +256,7 @@ function myOPACDrawSummary() {
        $('myopac_sum_pickup').innerHTML = "("+stats.holds.ready+")";\r
        $('myopac_sum_checked').innerHTML = "("+ (stats.checkouts.out+stats.checkouts.overdue) +")";\r
        $('myopac_sum_holds').innerHTML = "("+stats.holds.total+")";\r
-    if(stats.fines.balance_owed > 0) {\r
+    if(stats.fines.balance_owed != 0) {\r
         var bal = $('myopac_sum_fines_bal');\r
         bal.style.color = "red";\r
         appendClear(bal, text("$" + Number(stats.fines.balance_owed).toFixed(2)));\r
@@ -1466,14 +1466,14 @@ function _myopacDrawPayments(r) {
     );\r
 }\r
 \r
-function emailPaymentReceipt(paymentIds, callback) {\r
+function emailPaymentReceipt(paymentIds, callback, noprog) {\r
 \r
     if(!G.user.email()) {\r
         if(callback) callback();\r
         return;\r
     }\r
 \r
-    progressDialog.show(true);\r
+    if(!noprog) progressDialog.show(true);\r
 \r
     fieldmapper.standardRequest(\r
         ['open-ils.circ', 'open-ils.circ.money.payment_receipt.email'],\r
@@ -1481,7 +1481,7 @@ function emailPaymentReceipt(paymentIds, callback) {
             async : true,\r
             params : [G.user.session, paymentIds],\r
             oncomplete : function(r) {\r
-                progressDialog.hide();\r
+                if(!noprog) progressDialog.hide();\r
                 openils.Util.readResponse(r);\r
                 if(callback) callback();\r
             }\r
@@ -1508,6 +1508,9 @@ function myopacShowGenericTransaction( trans ) {
        $n(row,'myopac_trans_balance').appendChild(text(_finesFormatNumber(trans.balance_owed())));\r
        $n(row,'selector').balance_owed = trans.balance_owed();\r
        $n(row,'selector').setAttribute("xact", trans.id());\r
+    if(trans.balance_owed() <= 0) {\r
+        $n(row,'selector').disabled = true;\r
+    }\r
 \r
        var req = new Request(FETCH_MONEY_BILLING, G.user.session, trans.id());\r
        req.send(true);\r
@@ -1548,6 +1551,9 @@ function myOPACShowCircTransaction(trans, record, circ) {
        $n(row,'myopac_circ_trans_balance').appendChild(text(_finesFormatNumber(trans.balance_owed())));\r
        $n(row,'selector').balance_owed = trans.balance_owed();\r
        $n(row,'selector').setAttribute("xact",trans.id()); \r
+    if(trans.balance_owed() <= 0) {\r
+        $n(row,'selector').disabled = true;\r
+    }\r
 \r
        tbody.appendChild(row);\r
        unHideMe($('myopac_circ_trans_div'));\r
@@ -1592,12 +1598,14 @@ function showPaymentForm() {
                        }\r
                        G.user.last_xact_id(resp.last_xact_id); // update to match latest from server\r
             $('cc-payment-error-message').innerHTML = ecom_event_map.SUCCESS;\r
-                       printPaymentReceipt(resp.payments);\r
-            emailPaymentReceipt(resp.payments);\r
+                       printPaymentReceipt(resp.payments, function() { location.href = location.href; } );\r
+            emailPaymentReceipt(resp.payments, null, true);\r
+            /*\r
                        hideMe($('pay_fines_now'));unHideMe($('acct_sum'));\r
                        finesShown = false;\r
                        myOPACShowFines();              \r
                        showFinesDiv($('show_fines_link'));\r
+            */\r
                }\r
        );\r
 }\r
@@ -2223,6 +2231,7 @@ function printData(data, numItems, callback) {
         frame.document.body.innerHTML = '';\r
        // hideMe($('receipt-print-frame-wrapper'));\r
         receiptPrintDialog.hide();\r
+        if(callback) callback();\r
     }\r
 \r
     $('receipt-view-print-button').onclick = function() {\r
@@ -2243,8 +2252,8 @@ function printData(data, numItems, callback) {
 }\r
 \r
 \r
-function printPaymentReceipt(paymentIds, callback) {\r
-    progressDialog.show(true);\r
+function printPaymentReceipt(paymentIds, callback, noprog) {\r
+    if(!noprog) progressDialog.show(true);\r
 \r
     fieldmapper.standardRequest(\r
         ['open-ils.circ', 'open-ils.circ.money.payment_receipt.print'],\r
@@ -2255,7 +2264,7 @@ function printPaymentReceipt(paymentIds, callback) {
                 var resp = openils.Util.readResponse(r);\r
                 var output = "";\r
                                if(resp) output = resp.template_output();\r
-                progressDialog.hide();\r
+                if(!noprog) progressDialog.hide();\r
                 if(output) {\r
                     printData(output.data(), 1, callback); \r
                 } else {\r