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('label',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()
66 for (var i = 0; i < obj.patron.bills.length; i++) {
67 total += dollars_float_to_cents_integer(
68 obj.patron.bills[i].balance_owed()
71 e.setAttribute('value',
72 cents_as_dollars( total )
77 'patron_checkouts' : [
80 return function() { };
86 return function() { };
92 return function() { };
95 'patron_holds_available' : [
98 return function() { };
104 return function() { };
107 'patron_ident_type_1' : [
110 return function() { };
113 'patron_ident_value_1' : [
116 return function() { };
119 'patron_ident_type_2' : [
122 return function() { };
125 'patron_date_of_birth' : [
128 return function() { };
131 'patron_day_phone' : [
134 return function() { };
137 'patron_evening_phone' : [
140 return function() { };
143 'patron_other_phone' : [
146 return function() { };
152 return function() { };
155 'patron_photo_url' : [
158 return function() { };
164 return function() { };
167 'patron_mailing_address_street1' : [
170 return function() { };
173 'patron_mailing_address_street2' : [
176 return function() { };
179 'patron_mailing_address_city' : [
182 return function() { };
185 'patron_mailing_address_state' : [
188 return function() { };
191 'patron_mailing_address_post_code' : [
194 return function() { };
197 'patron_physical_address_street1' : [
200 return function() { };
203 'patron_physical_address_street2' : [
206 return function() { };
209 'patron_physical_address_city' : [
212 return function() { };
215 'patron_physical_address_state' : [
218 return function() { };
221 'patron_physical_address_post_code' : [
224 return function() { };
229 for (var i in control_map) {
230 var cmd = this.w.document.getElementById(i);
232 for (var j in control_map[i][0]) {
233 if (control_map[i][1]) {
234 var ev_type = control_map[i][0][j];
237 obj.render_list.push( control_map[i][1](cmd) );
239 default: cmd.addEventListener(ev_type,control_map[i][1],false);
251 'retrieve' : function() {
260 // Retrieve the patron
264 var patron = obj.network.request(
266 'open-ils.actor.user.fleshed.retrieve_by_barcode',
267 [ obj.session, obj.barcode ]
271 if (instanceOf(patron,au)) {
277 throw('patron is not an au fm object');
281 throw('patron == false');
285 var error = ('patron.display.retrieve : ' + js2JSON(E));
286 obj.error.sdump('D_ERROR',error);
288 //FIXME// abort the chain
293 // Retrieve the bills
297 var bills = obj.network.request(
299 'open-ils.actor.user.transactions.have_balance',
300 [ obj.session, obj.patron.id() ]
302 //FIXME// obj.patron.bills( bills );
303 obj.patron.bills = bills;
305 var error = ('patron.display.retrieve : ' + js2JSON(E));
306 obj.error.sdump('D_ERROR',error);
308 //FIXME// abort the chain
313 // Retrieve the checkouts
317 var checkouts = obj.network.request(
319 'open-ils.circ.actor.user.checked_out',
320 [ obj.session, obj.patron.id() ]
322 obj.patron.checkouts( checkouts );
324 var error = ('patron.display.retrieve : ' + js2JSON(E));
325 obj.error.sdump('D_ERROR',error);
327 //FIXME// abort the chain
333 chain.push( obj.render );
336 JSAN.use('util.exec');
337 util.exec.chain( chain );
340 var error = ('patron.display.retrieve : ' + js2JSON(E));
341 this.error.sdump('D_ERROR',error);
346 'render' : function() {
348 for (var i in this.render_list) {
350 this.render_list[i]();
352 var error = 'Problem in patron.display.render with\n' + this.render_list[i] + '\n\n' + js2JSON(E);
353 this.error.sdump('D_ERROR',error);
360 dump('exiting patron/display.js\n');