From 77650d5874b31e7f7f9ff0132525baeae5927c3d Mon Sep 17 00:00:00 2001 From: phasefx Date: Wed, 20 Jul 2005 01:59:20 +0000 Subject: [PATCH] another take at PatronBills. Different kludge for Firefox. Alert on checkin errors git-svn-id: svn://svn.open-ils.org/ILS/trunk@1295 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../chrome/content/evergreen/circ/circ_utils.js | 2 +- .../content/evergreen/patron/patron_bills.js | 127 +++++++++++++++++---- .../evergreen/patron/patron_display_overlay.xul | 2 +- .../content/evergreen/patron/patron_utils.js | 2 +- .../locale/en-US/evergreen/OpenILS.properties | 7 +- 5 files changed, 115 insertions(+), 25 deletions(-) diff --git a/Evergreen/staff_client/chrome/content/evergreen/circ/circ_utils.js b/Evergreen/staff_client/chrome/content/evergreen/circ/circ_utils.js index 8516ed16ab..3c3a2cc8f6 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/circ/circ_utils.js +++ b/Evergreen/staff_client/chrome/content/evergreen/circ/circ_utils.js @@ -100,7 +100,7 @@ function checkin_by_copy_barcode(barcode, f) { } return check; } catch(E) { - sdump('D_ERROR',E); + handle_error(E); return null; } } diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_bills.js b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_bills.js index 070ae86596..81a39cd5a2 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_bills.js +++ b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_bills.js @@ -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 ); } diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_overlay.xul b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_overlay.xul index 2c3a1e6cec..0f07c41a25 100755 --- a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_overlay.xul +++ b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_overlay.xul @@ -57,7 +57,7 @@ - + diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_utils.js b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_utils.js index c3fd87d649..cf1ebac285 100755 --- a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_utils.js +++ b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_utils.js @@ -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]; diff --git a/Evergreen/staff_client/chrome/locale/en-US/evergreen/OpenILS.properties b/Evergreen/staff_client/chrome/locale/en-US/evergreen/OpenILS.properties index cf51ab21ce..b66574ae4f 100644 --- a/Evergreen/staff_client/chrome/locale/en-US/evergreen/OpenILS.properties +++ b/Evergreen/staff_client/chrome/locale/en-US/evergreen/OpenILS.properties @@ -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 -- 2.11.0