another take at PatronBills. Different kludge for Firefox. Alert on checkin errors
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 20 Jul 2005 01:59:20 +0000 (01:59 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 20 Jul 2005 01:59:20 +0000 (01:59 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@1295 dcc99617-32d9-48b4-a31d-7c20da2025e4

Evergreen/staff_client/chrome/content/evergreen/circ/circ_utils.js
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/patron/patron_utils.js
Evergreen/staff_client/chrome/locale/en-US/evergreen/OpenILS.properties

index 8516ed1..3c3a2cc 100644 (file)
@@ -100,7 +100,7 @@ function checkin_by_copy_barcode(barcode, f) {
                }
                return check;
        } catch(E) {
-               sdump('D_ERROR',E);
+               handle_error(E);
                return null;
        }
 }
index 070ae86..81a39cd 100644 (file)
@@ -7,21 +7,21 @@ function patron_bills_init(p) {
        p.patron_bills_cols = [
        /*
                {
-                       'id' : 'checkbox', 'label' : ' ', 'flex' : 0, 'render_xul' : 'checkbox'
-               },
-       */
-               {
                        'id' : 'id', 'label' : getString('mbts_id_label'), 'flex' : 1,
                        'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.id()'
                },
+       */
                {
-                       'id' : 'xact_start', 'label' : getString('mbts_xact_start_label'), 'flex' : 1,
-                       'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.xact_start().toString().substr(0,10);'
+                       'id' : 'xact_dates', 'label' : getString('bills_xact_dates_label'), 'flex' : 1,
+                       'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 
+                       'fm_field_render' : 'xact_dates_box($$)'
                },
                {
-                       'id' : 'xact_finish', 'label' : getString('mbts_xact_finish_label'), 'flex' : 1,
-                       'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.xact_finish().toString().substr(0,10);'
+                       'id' : 'money', 'label' : getString('bills_money_label'), 'flex' : 1,
+                       'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 
+                       'fm_field_render' : 'money_box($$)'
                },
+       /*
                {
                        'id' : 'total_owed', 'label' : getString('mbts_total_owed_label'), 'flex' : 1,
                        'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.total_owed()'
@@ -34,6 +34,7 @@ function patron_bills_init(p) {
                        'id' : 'balance_owed', 'label' : getString('mbts_balance_owed_label'), 'flex' : 1,
                        'primary' : false, 'hidden' : false, 'fm_class' : 'mbts', 'fm_field_render' : '.balance_owed()'
                },
+       */
                {
                        'id' : 'current_pay', 'label' : getString('bills_current_payment_label'), 'flex' : 1, 'render_xul' : 'textbox'
                }
@@ -56,6 +57,7 @@ function list_box_init( p ) {
        var listbox = p.w.document.createElement('listbox');
        p.node.appendChild( listbox );
        listbox.setAttribute('flex','1');
+       listbox.setAttribute('seltype','multiple');
 
                var listhead = p.w.document.createElement('listhead');
                listbox.appendChild( listhead );
@@ -63,6 +65,14 @@ function list_box_init( p ) {
                var listcols = p.w.document.createElement('listcols');
                listbox.appendChild( listcols );
 
+                       if (window.navigator.userAgent.match( /Firefox/ ))  {
+                               var listheader = p.w.document.createElement('listheader');
+                               listhead.appendChild( listheader );
+                               listheader.setAttribute('label', '');
+                               var listcol = p.w.document.createElement('listcol');
+                               listcols.appendChild( listcol );
+                       }
+
                        for (var i = 0; i < p.cols.length; i++ ) {
 
                                var listheader = p.w.document.createElement('listheader');
@@ -79,13 +89,12 @@ function list_box_init( p ) {
                var listitem = p.w.document.createElement('listitem');
                listbox.appendChild( listitem );
                listitem.setAttribute('allowevents','true');
-               var idx = 0;
-               if (typeof(cols[0]) == 'string') {
 
-                       listitem.setAttribute('label',cols[0]);
-                       idx = 1;
+               if (window.navigator.userAgent.match( /Firefox/ ))  {
+                       listitem.setAttribute('label','');
                }
-               for (var i = idx; i < cols.length; i++) {
+
+               for (var i = 0; i < cols.length; i++) {
 
                        try {
                                listitem.appendChild( cols[i] );
@@ -109,6 +118,81 @@ function list_box_init( p ) {
 function patron_bills_add_patron_bills(p, bills) {
        sdump('D_PATRON_BILLS',arg_dump(arguments,{1:true}));
 
+       function xact_dates_box( mbts ) {
+               var grid = p.w.document.createElement('grid');
+                       var cols = p.w.document.createElement('columns');
+                       grid.appendChild( cols );
+                               cols.appendChild( p.w.document.createElement('column') );
+                               cols.appendChild( p.w.document.createElement('column') );
+                       var rows = p.w.document.createElement('rows');
+                       grid.appendChild( rows );
+                               var row0 = p.w.document.createElement('row');
+                               rows.appendChild( row0 );
+                                       var label_r0_1 = p.w.document.createElement('label');
+                                       row0.appendChild( label_r0_1 );
+                                       label_r0_1.setAttribute('value',getString('mbts_id_label'));
+                                       var label_r0_2 = p.w.document.createElement('label');
+                                       row0.appendChild( label_r0_2 );
+                                       label_r0_2.setAttribute('value',mbts.id());
+                               var row1 = p.w.document.createElement('row');
+                               rows.appendChild( row1 );
+                                       var label_r1_1 = p.w.document.createElement('label');
+                                       row1.appendChild( label_r1_1 );
+                                       label_r1_1.setAttribute('value',getString('mbts_xact_start_label'));
+                                       var label_r1_2 = p.w.document.createElement('label');
+                                       row1.appendChild( label_r1_2 );
+                                       label_r1_2.setAttribute('value',mbts.xact_start().toString().substr(0,10));
+                               var row2 = p.w.document.createElement('row');
+                               rows.appendChild( row2 );
+                                       var label_r2_1 = p.w.document.createElement('label');
+                                       row2.appendChild( label_r2_1 );
+                                       label_r2_1.setAttribute('value',getString('mbts_xact_finish_label'));
+                                       var label_r2_2 = p.w.document.createElement('label');
+                                       row2.appendChild( label_r2_2 );
+                                       try { label_r2_2.setAttribute('value',mbts.xact_finish().toString().substr(0,10));
+                                       } catch(E) {}
+
+               return grid;
+       }
+
+       function money_box( mbts ) {
+               var grid = p.w.document.createElement('grid');
+                       var cols = p.w.document.createElement('columns');
+                       grid.appendChild( cols );
+                               cols.appendChild( p.w.document.createElement('column') );
+                               cols.appendChild( p.w.document.createElement('column') );
+                       var rows = p.w.document.createElement('rows');
+                       grid.appendChild( rows );
+                               var row1 = p.w.document.createElement('row');
+                               rows.appendChild( row1 );
+                                       var label_r1_1 = p.w.document.createElement('label');
+                                       row1.appendChild( label_r1_1 );
+                                       label_r1_1.setAttribute('value',getString('mbts_total_owed_label'));
+                                       var label_r1_2 = p.w.document.createElement('label');
+                                       row1.appendChild( label_r1_2 );
+                                       label_r1_2.setAttribute('value',mbts.total_owed());
+                               var row2 = p.w.document.createElement('row');
+                               rows.appendChild( row2 );
+                                       var label_r2_1 = p.w.document.createElement('label');
+                                       row2.appendChild( label_r2_1 );
+                                       label_r2_1.setAttribute('value',getString('mbts_total_paid_label'));
+                                       var label_r2_2 = p.w.document.createElement('label');
+                                       row2.appendChild( label_r2_2 );
+                                       label_r2_2.setAttribute('value',mbts.total_paid());
+                               var row3 = p.w.document.createElement('row');
+                               rows.appendChild( row3 );
+                                       var label_r3_1 = p.w.document.createElement('label');
+                                       row3.appendChild( label_r3_1 );
+                                       label_r3_1.setAttribute('value',getString('mbts_balance_owed_label'));
+                                       label_r3_1.setAttribute('style','font-weight: bold');
+                                       var label_r3_2 = p.w.document.createElement('label');
+                                       row3.appendChild( label_r3_2 );
+                                       label_r3_2.setAttribute('value',mbts.balance_owed());
+                                       label_r3_2.setAttribute('style','font-weight: bold');
+
+               return grid;
+       }
+
        var obj_string ='mbts';
 
        for (var i = 0; i < bills.length; i++) {
@@ -121,6 +205,9 @@ function patron_bills_add_patron_bills(p, bills) {
                        var hash = p.patron_bills_cols[j];
                        sdump('D_PATRON_BILLS','Considering ' + js2JSON(hash) + '\n');
                        var listcell = p.w.document.createElement('listcell');
+                       listcell.setAttribute('pack','start');
+                       listcell.setAttribute('align','start');
+                       listcell.setAttribute('style','border-bottom: black solid thin');
                        var col = '';
                        if (hash.fm_field_render) {
 
@@ -134,19 +221,19 @@ function patron_bills_add_patron_bills(p, bills) {
                                        col = eval( cmd );
                                        sdump('D_PATRON_BILLS','eval = ' + col + '\n');
                                } catch(E) {
-                                       sdump('D_ERROR',js2JSON(E) + '\n');
+                                       sdump('D_ERROR',E + '\n');
+                               }
+                               if (typeof(col) == 'string') {
+                                       listcell.setAttribute('label',col);
+                               } else {
+                                       listcell.appendChild( col );
                                }
-                               listcell.setAttribute('label',col);
                        }
                        if (hash.render_xul) {
                                var xul = p.w.document.createElement( hash.render_xul );
                                listcell.appendChild( xul );
                        }
-                       if ( (j == 0) && (window.navigator.userAgent.match( /Firefox/ )) ) {
-                               cols.push( col );
-                       } else {
-                               cols.push( listcell );
-                       }
+                       cols.push( listcell );
                }
                p.list_box.add_row( cols );
        }
index 2c3a1e6..0f07c41 100755 (executable)
@@ -57,7 +57,7 @@
        </groupbox>
        <groupbox id="cssdgb4">
                <caption id="cssdgb4c" label="&patron_navbar.bills;"/>
-               <box id="PatronBills_main" />
+               <box id="PatronBills_main" flex="1"/>
        </groupbox>
        <box id="PatronEdit_main"><label value="edit" /></box>
        <box id="PatronInfo_main"><label value="info" /></box>
index c3fd87d..cf1ebac 100755 (executable)
@@ -57,7 +57,7 @@ function patron_get_bills( au, f ) {
        try {
                var bills = user_request(
                        'open-ils.actor',
-                       'open-ils.actor.user.transactions',
+                       'open-ils.actor.user.transactions.have_balance',
                        [ mw.G.auth_ses[0], au.id() ],
                        f
                )[0];
index cf51ab2..b66574a 100644 (file)
@@ -90,9 +90,12 @@ ahr_usr_label=Usr
 bills_total_owed_label=Total Owed
 bills_current_payment_label=Current Payment
 
+bills_xact_dates_label=Record / Dates
+bills_money_label=Money
+
 mbts_balance_owed_label=Balance Owed
-mbts_id_label=Id
-mbts_total_owed_label=Total Owed
+mbts_id_label=Bill Id
+mbts_total_owed_label=Original Bill
 mbts_total_paid_label=Total Paid
 mbts_xact_finish_label=Finish
 mbts_xact_start_label=Start