checkboxes and little tweaks
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 21 Jul 2005 13:12:01 +0000 (13:12 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 21 Jul 2005 13:12:01 +0000 (13:12 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@1333 dcc99617-32d9-48b4-a31d-7c20da2025e4

Evergreen/staff_client/chrome/content/evergreen/patron/patron_bills.js
Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_overlay.xul
Evergreen/staff_client/chrome/content/evergreen/util/util.js

index 97932f3..c303c4d 100644 (file)
@@ -76,13 +76,17 @@ function patron_bills_init(p) {
                        var total = dollars_float_to_cents_integer( tb.value );
                        for (var i = 0; i < p.current_payments.length; i++) {
                                var bill = p.current_payments[i];
-                               var bo = dollars_float_to_cents_integer( bill.balance_owed );
-                               if ( bo > total ) {
-                                       bill.textbox.value = cents_as_dollars( total );
-                                       total = 0;
+                               if (bill.checkbox.checked) {
+                                       var bo = dollars_float_to_cents_integer( bill.balance_owed );
+                                       if ( bo > total ) {
+                                               bill.textbox.value = cents_as_dollars( total );
+                                               total = 0;
+                                       } else {
+                                               bill.textbox.value = cents_as_dollars( bo );
+                                               total = total - bo;
+                                       }
                                } else {
-                                       bill.textbox.value = cents_as_dollars( bo );
-                                       total = total - bo;
+                                       bill.textbox.value = '0.00';
                                }
                        }
                        p.update_payment_applied();
@@ -161,7 +165,16 @@ function patron_bills_list_box_init( p ) {
        ];
 
        p.list_box = list_box_init( { 'w' : p.w, 'node' : p.node, 'cols' : p.patron_bills_cols, 'debug' : p.app } );
-       p.clear_patron_bills = function () { p.current_payments = []; p.list_box.clear_rows(); };
+       p.clear_patron_bills = function () { 
+               p.current_payments = []; 
+               p.control_box.bill_total_owed.value = 'Calculating...';
+               p.control_box.bill_payment_amount.value = '';
+               p.control_box.bill_payment_applied.value = '0.00';
+               p.control_box.bill_change_amount.value = '0.00';
+               p.control_box.bill_credit_amount.value = '0.00';
+               p.control_box.bill_new_balance.value = 'Calculating...';
+               p.list_box.clear_rows(); 
+       };
        p.add_patron_bills = function (bills) {
                sdump('D_PATRON_BILLS','p.add_patron_bills(' + bills + ')\n');
                return patron_bills_add_patron_bills(p,bills);
@@ -172,7 +185,9 @@ function patron_bills_add_patron_bills(p, bills) {
        sdump('D_PATRON_BILLS',arg_dump(arguments,{1:true}));
 
        p.control_box.bill_total_owed.setAttribute('value',get_bills_total( bills ));
+       p.control_box.bill_total_owed.value = get_bills_total( bills );
        p.control_box.bill_new_balance.setAttribute('value',get_bills_total( bills ));
+       p.control_box.bill_new_balance.value = get_bills_total( bills );
 
        function xact_dates_box( mbts ) {
                var grid = p.w.document.createElement('grid');
index 99a57a7..844fec0 100755 (executable)
                                </row>
                                <row>
                                        <label value="Payment received" 
-                                               accesskey="p" control="pbi1_tb1"
+                                               accesskey="a" control="pbi1_tb1"
                                                style="font-family: bold" />
                
                                        <textbox id="bill_payment_amount_textbox" />
index 434a545..8301b1e 100644 (file)
@@ -136,9 +136,13 @@ function dollars_float_to_cents_integer( money ) {
 function cents_as_dollars( cents ) {
        cents = cents.toString(); 
        // FIXME: strip miscellaneous characters
-       switch( cents.length ) {
-               case 0: cents = '000'; break;
-               case 1: cents = '0' + cents; break;
+       try {
+               switch( cents.length ) {
+                       case 0: cents = '000'; break;
+                       case 1: cents = '00' + cents; break;
+               }
+       } catch(E) {
+               sdump('D_ERROR',"cents_as_dollars: cents.length? " + E + "\n");
        }
        return cents.substr(0,cents.length-2) + '.' + cents.substr(cents.length - 2);
 }