1 dump('entering circ.checkin.js\n');
3 if (typeof patron == 'undefined') patron = {};
4 circ.checkin = function (params) {
6 JSAN.use('util.error'); this.error = new util.error();
7 JSAN.use('util.network'); this.network = new util.network();
8 this.OpenILS = {}; JSAN.use('OpenILS.data'); this.OpenILS.data = new OpenILS.data(); this.OpenILS.data.init({'via':'stash'});
11 circ.checkin.prototype = {
13 'init' : function( params ) {
17 obj.session = params['session'];
19 JSAN.use('circ.util');
20 var columns = circ.util.columns(
22 'barcode' : { 'hidden' : false },
23 'title' : { 'hidden' : false },
24 'status' : { 'hidden' : false },
25 //'checkin_status' : { 'hidden' : false },
26 'checkin_route_to' : { 'hidden' : false },
27 'checkin_text' : { 'hidden' : false, 'flex' : 3 },
30 dump('columns = ' + js2JSON(columns) + '\n');
32 JSAN.use('util.list'); obj.list = new util.list('checkin_list');
36 'map_row_to_column' : circ.util.std_map_row_to_column(),
40 JSAN.use('util.controller'); obj.controller = new util.controller();
44 'checkin_barcode_entry_textbox' : [
47 if (ev.keyCode && ev.keyCode == 13) {
54 function() { alert('Not Yet Implemented'); }
56 'cmd_checkin_submit_barcode' : [
62 'cmd_checkin_print' : [
67 'cmd_checkin_reprint' : [
72 'cmd_checkin_done' : [
80 this.controller.view.checkin_barcode_entry_textbox.focus();
84 'checkin' : function() {
87 var barcode = obj.controller.view.checkin_barcode_entry_textbox.value;
88 var checkin = obj.network.request(
89 api.checkin_via_barcode.app,
90 api.checkin_via_barcode.method,
91 [ obj.session, barcode, obj.patron_id ]
97 'circ' : checkin.circ,
98 'mvr' : checkin.record,
100 'status' : checkin.status,
101 'route_to' : checkin.route_to,
102 'text' : checkin.text,
105 //I could override map_row_to_column here
108 if (typeof obj.on_checkin == 'function') {
109 obj.on_checkin(checkin);
111 if (typeof window.xulG == 'object' && typeof window.xulG.on_checkin == 'function') {
112 obj.error.sdump('D_CIRC','circ.checkin: Calling external .on_checkin()\n');
113 window.xulG.on_checkin(checkin);
115 obj.error.sdump('D_CIRC','circ.checkin: No external .on_checkin()\n');
119 alert('FIXME: need special alert and error handling\n'
121 if (typeof obj.on_failure == 'function') {
124 if (typeof window.xulG == 'object' && typeof window.xulG.on_failure == 'function') {
125 obj.error.sdump('D_CIRC','circ.checkin: Calling external .on_failure()\n');
126 window.xulG.on_failure(E);
128 obj.error.sdump('D_CIRC','circ.checkin: No external .on_failure()\n');
134 'on_checkin' : function() {
135 this.controller.view.checkin_barcode_entry_textbox.value = '';
136 this.controller.view.checkin_barcode_entry_textbox.focus();
139 'on_failure' : function() {
140 this.controller.view.checkin_barcode_entry_textbox.select();
141 this.controller.view.checkin_barcode_entry_textbox.focus();
145 dump('exiting circ.checkin.js\n');