From d76f60e9f5a944bf22fa500ff07845b60ab4bd8f Mon Sep 17 00:00:00 2001 From: erickson Date: Mon, 13 Feb 2006 21:39:29 +0000 Subject: [PATCH] broke the fines display into various parts. more work to come git-svn-id: svn://svn.open-ils.org/ILS/trunk@3049 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/opac/common/js/config.js | 2 + Open-ILS/web/opac/skin/default/js/myopac.js | 119 +++++++++++++----- .../skin/default/xml/myopac/myopac_fines.xml | 66 ++++++---- 3 files changed, 131 insertions(+), 56 deletions(-) diff --git a/Open-ILS/web/opac/common/js/config.js b/Open-ILS/web/opac/common/js/config.js index efd342ff50..aaf052e6fe 100644 --- a/Open-ILS/web/opac/common/js/config.js +++ b/Open-ILS/web/opac/common/js/config.js @@ -217,6 +217,7 @@ var FETCH_CHECKED_OUT_SLIM = "open-ils.circ:open-ils.circ.actor.user.checked_ou 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_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"; var CREATE_HOLD = "open-ils.circ:open-ils.circ.holds.create"; @@ -246,6 +247,7 @@ var DELETE_CONTAINER_ITEM = 'open-ils.actor:open-ils.actor.container.item.delet var FLESH_CONTAINER = 'open-ils.actor:open-ils.actor.container.flesh'; var FLESH_PUBLIC_CONTAINER = 'open-ils.actor:open-ils.actor.container.public.flesh'; var FETCH_COPY = 'open-ils.search:open-ils.search.asset.copy.retrieve'; +var CHECK_HOLD_POSSIBLE = 'open-ils.circ:open-ils.circ.title_hold.is_possible'; /* ---------------------------------------------------------------------------- */ diff --git a/Open-ILS/web/opac/skin/default/js/myopac.js b/Open-ILS/web/opac/skin/default/js/myopac.js index 2c06a28c4f..b5477125b8 100644 --- a/Open-ILS/web/opac/skin/default/js/myopac.js +++ b/Open-ILS/web/opac/skin/default/js/myopac.js @@ -359,54 +359,105 @@ function _finesFormatNumber(num) { return num; } +function _trimTime(time) { if(!time) return ""; return time.replace(/\ .*/,""); } + function _trimSeconds(time) { if(!time) return ""; return time.replace(/\..*/,""); } -var transTemplate; function myOPACShowTransactions(r) { - if(transTemplate) return; - var tbody = $('myopac_fines_tbody'); - unHideMe($('myopac_trans_table')); - transTemplate = tbody.removeChild($('myopac_trans_row')); + if(myopacGenericTransTemplate || myopacCircTransTemplate) return; var transactions = r.getResultObject(); - //alert(js2JSON(transactions)); - for( var idx in transactions ) { - var trans = transactions[idx].transaction; - var record = transactions[idx].record; - var row = transTemplate.cloneNode(transTemplate); - - $n(row,'myopac_trans_start'). - appendChild(text(_trimSeconds(trans.xact_start()))); - $n(row,'myopac_trans_last_bill'). - appendChild(text(_trimSeconds(trans.last_billing_ts()))); - $n(row,'myopac_trans_last_payment'). - appendChild(text(_trimSeconds(trans.last_payment_ts()))); - $n(row,'myopac_trans_init_amount'). - appendChild(text(_finesFormatNumber(trans.total_owed()))); - $n(row,'myopac_trans_total_paid'). - appendChild(text(_finesFormatNumber(trans.total_paid()))); - $n(row,'myopac_trans_balance'). - appendChild(text(_finesFormatNumber(trans.balance_owed()))); - - var extra = ""; - var type = trans.xact_type(); - if(type == 'circulation') { - unHideMe($('accrue_explanation')); - unHideMe($n(row, 'myopac_trans_balance_recur')); - } - $n(row,'myopac_trans_type').appendChild(text(type)); - if( type == "circulation" ) extra = record.title(); - $n(row, 'myopac_trans_extra').appendChild(text(extra)); + var trans = transactions[idx].transaction; + var record = transactions[idx].record; + var circ = transactions[idx].circ; - tbody.appendChild(row); + if(trans.xact_type() == 'circulation') + myOPACShowCircTransaction(trans, record, circ); + + else if(trans.xact_type() == 'grocery' ) + myopacShowGenericTransaction( trans ); } } +var myopacGenericTransTemplate; +function myopacShowGenericTransaction( trans ) { + var tbody = $('myopac_trans_tbody'); + + if(!myopacGenericTransTemplate) { + myopacGenericTransTemplate = + tbody.removeChild($('myopac_trans_row')); + removeChildren(tbody); + } + + var row = myopacGenericTransTemplate.cloneNode(true); + + $n(row,'myopac_trans_start').appendChild( + text(_trimSeconds(trans.xact_start()))); + + $n(row,'myopac_trans_last_payment').appendChild( + text(_trimSeconds(trans.last_payment_ts()))); + + $n(row,'myopac_trans_init_amount').appendChild( + text(_finesFormatNumber(trans.total_owed()))); + + $n(row,'myopac_trans_total_paid').appendChild( + text(_finesFormatNumber(trans.total_paid()))); + + $n(row,'myopac_trans_balance').appendChild( + text(_finesFormatNumber(trans.balance_owed()))); + + var req = new Request(FETCH_MONEY_BILLING, G.user.session, trans.id()); + req.send(true); + var bills = req.result(); + if(bills && bills[0]) + $n(row,'myopac_trans_bill_type').appendChild( + text(bills[0].billing_type())); + + tbody.appendChild(row); + unHideMe($('myopac_trans_table')); +} + + + +/* draws a circulation transaction summary */ +var myopacCircTransTemplate; +function myOPACShowCircTransaction(trans, record, circ) { + var tbody = $('myopac_circ_trans_tbody'); + + if(!myopacCircTransTemplate) { + myopacCircTransTemplate = tbody.removeChild($('myopac_circ_trans_row')); + removeChildren(tbody); + } + + var row = myopacCircTransTemplate.cloneNode(true); + + buildTitleDetailLink(record, $n(row,'myopac_circ_trans_title')); + + $n(row,'myopac_circ_trans_author').appendChild(text( + normalize(truncate(record.author(), 65)))); + + $n(row,'myopac_circ_trans_start'). + appendChild(text(_trimTime(trans.xact_start()))); + + var due = _trimTime(circ.due_date()); + var checkin = _trimTime(circ.stop_fines_time()); + + $n(row,'myopac_circ_trans_due').appendChild(text(due)) + $n(row,'myopac_circ_trans_finished').appendChild(text(checkin)) + + $n(row,'myopac_circ_trans_balance'). + appendChild(text(_finesFormatNumber(trans.balance_owed()))); + + tbody.appendChild(row); + unHideMe($('myopac_circ_trans_table')); +} + + function myOPACSavePrefs() { G.user.prefs[PREF_HITS_PER] = getSelectorVal($('prefs_hits_per')); if(commitUserPrefs()) diff --git a/Open-ILS/web/opac/skin/default/xml/myopac/myopac_fines.xml b/Open-ILS/web/opac/skin/default/xml/myopac/myopac_fines.xml index c2fefc4ec5..c4ff900e8c 100644 --- a/Open-ILS/web/opac/skin/default/xml/myopac/myopac_fines.xml +++ b/Open-ILS/web/opac/skin/default/xml/myopac/myopac_fines.xml @@ -5,7 +5,7 @@ - + @@ -15,48 +15,71 @@ - - - - + + + +
Summary
Summary
Total Owed Total Paid
Loading...
$$$
$$$
-
-
-
- + - +



+ + +
+ + + + + + + + + + + + + + + + + + + + + +
Overdue Materials
TitleAuthorCheckout DateDue DateDate ReturnedBalance Owed
+ $ +
+ +



+ + + - + - - - + - + - @@ -64,8 +87,7 @@ * $ - - +
Transaction Details
Other Transactions
Transaction Start TimeLast Billing Time Last Payment Time Initial Amount Owed Total Amount Paid Balance OwedTypeExtra InfoBilling Type
$ $
-- 2.43.2