1 dump('entering patron.summary.js\n');
3 if (typeof patron == 'undefined') patron = {};
4 patron.summary = function (params) {
6 JSAN.use('util.error'); this.error = new util.error();
7 JSAN.use('util.window'); this.window = new util.window();
8 JSAN.use('util.network'); this.network = new util.network();
12 patron.summary.prototype = {
14 'init' : function( params ) {
18 obj.barcode = params['barcode'];
19 obj.id = params['id'];
21 JSAN.use('OpenILS.data'); this.OpenILS = {};
22 obj.OpenILS.data = new OpenILS.data(); obj.OpenILS.data.init({'via':'stash'});
24 JSAN.use('util.controller'); obj.controller = new util.controller();
30 function() { alert('Not Yet Implemented'); }
36 JSAN.use('util.widgets');
37 util.widgets.remove_children( e );
38 if (obj.patron.alert_message()) {
40 document.createTextNode(
41 obj.patron.alert_message()
44 e.parentNode.hidden = false;
46 e.parentNode.hidden = true;
55 e.setAttribute('value',obj.patron.usrname());
63 e.setAttribute('value',
64 obj.OpenILS.data.hash.pgt[
75 e.setAttribute('value',
76 obj.OpenILS.data.hash.cst[
80 var e2 = document.getElementById('patron_standing_penalties');
81 JSAN.use('util.widgets');
82 util.widgets.remove_children(e2);
83 var penalties = obj.patron.standing_penalties();
84 for (var i = 0; i < penalties.length; i++) {
85 var x = document.createElement('label');
86 x.setAttribute('value',penalties[i].penalty_type());
96 JSAN.use('util.money');
97 e.setAttribute('value',
99 obj.patron.credit_forward_balance()
109 e.setAttribute('value','...');
110 obj.network.simple_request(
111 'FM_MOBTS_TOTAL_HAVING_BALANCE',
112 [ ses(), obj.patron.id() ],
114 JSAN.use('util.money');
115 e.setAttribute('value',
117 req.getResultObject()
125 'patron_checkouts' : [
129 e.setAttribute('value','...');
130 var e2 = document.getElementById( 'patron_overdue' ); if (e2) e2.setAttribute('value','...');
131 var e3 = document.getElementById( 'patron_claimed_returned' ); if (e3) e3.setAttribute('value','...');
132 var e4 = document.getElementById( 'patron_long_overdue' ); if (e4) e4.setAttribute('value','...');
133 var e5 = document.getElementById( 'patron_lost' ); if (e5) e5.setAttribute('value','...');
134 obj.network.simple_request(
135 'FM_CIRC_COUNT_RETRIEVE_VIA_USER',
136 [ ses(), obj.patron.id() ],
138 e.setAttribute('value', req.getResultObject().out );
139 if (e2) e2.setAttribute('value', req.getResultObject().overdue );
140 if (e3) e3.setAttribute('value', req.getResultObject().claims_returned );
141 if (e4) e4.setAttribute('value', req.getResultObject().long_overdue );
142 if (e5) e5.setAttribute('value', req.getResultObject().lost );
152 /* handled by 'patron_checkouts' */
160 e.setAttribute('value','...');
161 var e2 = document.getElementById('patron_holds_available');
162 if (e2) e2.setAttribute('value','...');
163 obj.network.simple_request(
164 'FM_AHR_COUNT_RETRIEVE',
165 [ ses(), obj.patron.id() ],
167 e.setAttribute('value',
168 req.getResultObject().total
170 if (e2) e2.setAttribute('value',
171 req.getResultObject().ready
178 'patron_holds_available' : [
182 /* handled by 'patron_holds' */
190 e.setAttribute('value',
191 obj.patron.card().barcode()
196 'patron_ident_type_1' : [
200 var ident_string = '';
201 var ident = obj.OpenILS.data.hash.cit[
202 obj.patron.ident_type()
204 if (ident) ident_string = ident.name()
205 e.setAttribute('value',
211 'patron_ident_value_1' : [
215 e.setAttribute('value',
216 obj.patron.ident_value()
221 'patron_ident_type_2' : [
225 var ident_string = '';
226 var ident = obj.OpenILS.data.hash.cit[
227 obj.patron.ident_type2()
229 if (ident) ident_string = ident.name()
230 e.setAttribute('value',
236 'patron_ident_value_2' : [
240 e.setAttribute('value',
241 obj.patron.ident_value2()
246 'patron_date_of_birth' : [
250 e.setAttribute('value',
256 'patron_day_phone' : [
260 e.setAttribute('value',
261 obj.patron.day_phone()
266 'patron_evening_phone' : [
270 e.setAttribute('value',
271 obj.patron.evening_phone()
276 'patron_other_phone' : [
280 e.setAttribute('value',
281 obj.patron.other_phone()
290 e.setAttribute('value',
296 'patron_photo_url' : [
300 e.setAttribute('src',
301 obj.patron.photo_url()
310 e.setAttribute('value',
311 obj.OpenILS.data.hash.aou[
315 e.setAttribute('tooltiptext',
316 obj.OpenILS.data.hash.aou[
323 'patron_last_library' : [
327 e.setAttribute('value',
328 obj.OpenILS.data.hash.aou[
332 e.setAttribute('tooltiptext',
333 obj.OpenILS.data.hash.aou[
340 'patron_mailing_address_street1' : [
344 e.setAttribute('value',
345 obj.patron.mailing_address().street1()
350 'patron_mailing_address_street2' : [
354 e.setAttribute('value',
355 obj.patron.mailing_address().street2()
360 'patron_mailing_address_city' : [
364 e.setAttribute('value',
365 obj.patron.mailing_address().city()
370 'patron_mailing_address_state' : [
374 e.setAttribute('value',
375 obj.patron.mailing_address().state()
380 'patron_mailing_address_post_code' : [
384 e.setAttribute('value',
385 obj.patron.mailing_address().post_code()
390 'patron_physical_address_street1' : [
394 e.setAttribute('value',
395 obj.patron.billing_address().street1()
400 'patron_physical_address_street2' : [
404 e.setAttribute('value',
405 obj.patron.billing_address().street2()
410 'patron_physical_address_city' : [
414 e.setAttribute('value',
415 obj.patron.billing_address().city()
420 'patron_physical_address_state' : [
424 e.setAttribute('value',
425 obj.patron.billing_address().state()
430 'patron_physical_address_post_code' : [
434 e.setAttribute('value',
435 obj.patron.billing_address().post_code()
448 'retrieve' : function() {
456 // Retrieve the patron
457 function blah_retrieve() {
460 if (obj.barcode && obj.barcode != 'null') {
461 robj = obj.network.request(
462 api.FM_AU_RETRIEVE_VIA_BARCODE.app,
463 api.FM_AU_RETRIEVE_VIA_BARCODE.method,
464 [ ses(), obj.barcode ]
466 } else if (obj.id && obj.id != 'null') {
467 robj = obj.network.simple_request(
468 'FM_AU_FLESHED_RETRIEVE_VIA_ID',
472 throw('summary: No barcode or id');
476 if (instanceOf(robj,au)) {
479 JSAN.use('patron.util');
480 patron.util.set_penalty_css(obj.patron);
500 // Retrieve the survey responses for required surveys
504 var surveys = obj.OpenILS.data.list.my_asv;
505 var survey_responses = {};
506 for (var i = 0; i < surveys.length; i++) {
507 var s = obj.network.request(
508 api.FM_ASVR_RETRIEVE.app,
509 api.FM_ASVR_RETRIEVE.method,
510 [ ses(), surveys[i].id(), obj.patron.id() ]
512 survey_responses[ surveys[i].id() ] = s;
514 obj.patron.survey_responses( survey_responses );
516 var error = ('patron.summary.retrieve : ' + js2JSON(E));
517 obj.error.sdump('D_ERROR',error);
525 chain.push( function() { obj.controller.render(); } );
529 chain.push( function() {
531 if (typeof window.xulG == 'object' && typeof window.xulG.on_finished == 'function') {
532 obj.error.sdump('D_PATRON_SUMMARY',
533 'patron.summary: Calling external .on_finished()\n');
534 window.xulG.on_finished(obj.patron);
536 obj.error.sdump('D_PATRON_SUMMARY','patron.summary: No external .on_finished()\n');
542 JSAN.use('util.exec'); obj.exec = new util.exec();
543 obj.exec.on_error = function(E) {
545 if (typeof window.xulG == 'object' && typeof window.xulG.on_error == 'function') {
546 window.xulG.on_error(E);
552 this.exec.chain( chain );
555 if (typeof window.xulG == 'object' && typeof window.xulG.on_error == 'function') {
556 window.xulG.on_error(E);
564 dump('exiting patron.summary.js\n');