switch( page ) {
case "summary": unHideMe(ss);
- if($('show_fines_link').innerHTML=="Hide Overdue Materials") unHideMe(ff);
+ if($('show_fines_link').innerHTML=="Hide Overdue Materials" || userHasPayments) unHideMe(ff);
oncomplete = myOPACDrawSummary;
break;
}
+var userHasPayments = false;
function myOPACDrawSummary() {
var stats = userVitalStats; // see misc.js
if(!stats) return;
showFinesDiv($('show_fines_link'));
unHideMe($('pay_fines_btn1'));
unHideMe($('show_fines_link'));
+ unHideMe($('acct_fines_tab'));
}
+
+ // If the user has any payment, make sure the payments tab is visible
+ var before = new Date()
+ before.setFullYear(before.getFullYear() - 1);
+ var req = new Request(
+ 'open-ils.actor:open-ils.actor.user.payments.retrieve.atomic',
+ G.user.session, G.user.id(),
+ {"where":{"payment_ts":{">=":dojo.date.stamp.toISOString(before)}}, "limit":1});
+
+ req.callback(
+ function(r) {
+ var pays = r.getResultObject();
+ if(pays && pays.length) {
+ userHasPayments = true;
+ unHideMe($('myopac_fines_div'));
+ unHideMe($('acct_payments_tab'));
+ // if the user has no owed fines, show the payments by default
+ if(stats.fines.balance_owed == 0)
+ myopacDrawPayments();
+ }
+ }
+ );
+ req.send();
}
function myOPACInitTemplates() {
// KCLS limits payment history view to 1 year. This will eventually be expanded
// out to a history view page, but for now, just fetch what's needed.
var req = new Request(
- 'open-ils.actor:open-ils.actor.user.payments.retrieve',
+ 'open-ils.actor:open-ils.actor.user.payments.retrieve.atomic',
G.user.session, G.user.id(),
{"where":{"payment_ts":{">=":dojo.date.stamp.toISOString(before)}}});
<!-- tab-like options for selection Fines or Payments view -->
<div id='fines_payments_wrapper' style='padding-left: 5px; padding-right: 5px;'>
<div id='acct_fines_tabs'>
- <a id='acct_fines_tab' href='javascript:;' onclick='showFinesTab();'></a>
- <a id='acct_payments_tab' href='javascript:;' onclick='myopacDrawPayments();'></a>
+ <a id='acct_fines_tab' href='javascript:;' onclick='showFinesTab();' class='hide_me'></a>
+ <a id='acct_payments_tab' href='javascript:;' onclick='myopacDrawPayments();' class='hide_me'></a>
</div>
</div>