1 dump('entering patron/display.js\n');
3 if (typeof patron == 'undefined') patron = {};
4 patron.display = function (params) {
6 JSAN.use('util.error'); this.error = new util.error();
7 JSAN.use('main.window'); this.window = new main.window();
8 JSAN.use('main.network'); this.network = new main.network();
12 patron.display.prototype = {
14 'init' : function( params ) {
16 this.session = params['session'];
17 this.barcode = params['barcode'];
19 JSAN.use('OpenILS.data'); this.OpenILS = {};
20 this.OpenILS.data = new OpenILS.data( { 'session' : params.session } ); this.OpenILS.data.init(true);
23 obj.view = {}; obj.render_list = [];
28 function() { alert('Not Yet Implemented'); }
34 e.setAttribute('value',obj.patron.family_name() + ', '
35 + obj.patron.first_given_name());
43 e.setAttribute('value',
44 obj.OpenILS.data.hash.pgt[
55 e.setAttribute('value',
56 obj.patron.credit_forward_balance()
65 JSAN.use('util.money');
67 for (var i = 0; i < obj.patron.bills.length; i++) {
68 total += util.money.dollars_float_to_cents_integer(
69 obj.patron.bills[i].balance_owed()
72 e.setAttribute('value',
73 util.money.cents_as_dollars( total )
78 'patron_checkouts' : [
81 return function() { };
87 return function() { };
93 return function() { };
96 'patron_holds_available' : [
99 return function() { };
105 return function() { };
108 'patron_ident_type_1' : [
111 return function() { };
114 'patron_ident_value_1' : [
117 return function() { };
120 'patron_ident_type_2' : [
123 return function() { };
126 'patron_date_of_birth' : [
129 return function() { };
132 'patron_day_phone' : [
135 return function() { };
138 'patron_evening_phone' : [
141 return function() { };
144 'patron_other_phone' : [
147 return function() { };
153 return function() { };
156 'patron_photo_url' : [
159 return function() { };
165 return function() { };
168 'patron_mailing_address_street1' : [
171 return function() { };
174 'patron_mailing_address_street2' : [
177 return function() { };
180 'patron_mailing_address_city' : [
183 return function() { };
186 'patron_mailing_address_state' : [
189 return function() { };
192 'patron_mailing_address_post_code' : [
195 return function() { };
198 'patron_physical_address_street1' : [
201 return function() { };
204 'patron_physical_address_street2' : [
207 return function() { };
210 'patron_physical_address_city' : [
213 return function() { };
216 'patron_physical_address_state' : [
219 return function() { };
222 'patron_physical_address_post_code' : [
225 return function() { };
230 for (var i in control_map) {
231 var cmd = this.w.document.getElementById(i);
233 for (var j in control_map[i][0]) {
234 if (control_map[i][1]) {
235 var ev_type = control_map[i][0][j];
238 obj.render_list.push( control_map[i][1](cmd) );
240 default: cmd.addEventListener(ev_type,control_map[i][1],false);
252 'retrieve' : function() {
261 // Retrieve the patron
265 var patron = obj.network.request(
267 'open-ils.actor.user.fleshed.retrieve_by_barcode',
268 [ obj.session, obj.barcode ]
272 if (instanceOf(patron,au)) {
278 throw('patron is not an au fm object');
282 throw('patron == false');
286 var error = ('patron.display.retrieve : ' + js2JSON(E));
287 obj.error.sdump('D_ERROR',error);
289 //FIXME// abort the chain
294 // Retrieve the bills
298 var bills = obj.network.request(
300 'open-ils.actor.user.transactions.have_balance',
301 [ obj.session, obj.patron.id() ]
303 //FIXME// obj.patron.bills( bills );
304 obj.patron.bills = bills;
306 var error = ('patron.display.retrieve : ' + js2JSON(E));
307 obj.error.sdump('D_ERROR',error);
309 //FIXME// abort the chain
314 // Retrieve the checkouts
318 var checkouts = obj.network.request(
320 'open-ils.circ.actor.user.checked_out',
321 [ obj.session, obj.patron.id() ]
323 obj.patron.checkouts( checkouts );
325 var error = ('patron.display.retrieve : ' + js2JSON(E));
326 obj.error.sdump('D_ERROR',error);
328 //FIXME// abort the chain
334 chain.push( function() { obj.render(); } );
337 JSAN.use('util.exec');
338 util.exec.chain( chain );
341 var error = ('patron.display.retrieve : ' + js2JSON(E));
342 this.error.sdump('D_ERROR',error);
347 'render' : function() {
349 for (var i in this.render_list) {
351 this.render_list[i]();
353 var error = 'Problem in patron.display.render with\n' + this.render_list[i] + '\n\n' + js2JSON(E);
354 this.error.sdump('D_ERROR',error);
362 dump('exiting patron/display.js\n');