3 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
4 if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
5 JSAN.errorLevel = "die"; // none, warn, or die
6 JSAN.addRepository('..');
7 JSAN.use('util.error'); g.error = new util.error();
8 g.error.sdump('D_TRACE','my_init() for offline_checkin.xul');
10 if (typeof window.xulG == 'object' && typeof window.xulG.set_tab_name == 'function') {
11 try { window.xulG.set_tab_name('Standalone'); } catch(E) { alert(E); }
14 JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.init({'via':'stash'});
16 JSAN.use('util.list'); g.list = new util.list('checkin_list');
17 JSAN.use('circ.util');
19 'columns' : circ.util.offline_checkin_columns(),
20 'map_row_to_column' : circ.util.std_map_row_to_column(),
23 JSAN.use('util.date');
25 $('i_barcode').addEventListener('keypress',handle_keypress,false);
26 $('i_barcode').focus();
28 $('enter').addEventListener('command',handle_enter,false);
30 $('submit').addEventListener('command',next_patron,false);
32 JSAN.use('util.file');
33 var file = new util.file('offline_delta');
34 if (file._file.exists()) { g.delta = file.get_object()[0]; file.close(); } else { g.delta = 0; }
37 var err_msg = "!! This software has encountered an error. Please tell your friendly " +
38 "system administrator or software developer the following:\ncirc/offline_checkin.xul\n" + E + '\n';
39 try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
44 function $(id) { return document.getElementById(id); }
46 function handle_keypress(ev) {
47 if ( (! ev.keyCode) || (ev.keyCode != 13) ) return;
49 case $('i_barcode') : handle_enter(); break;
54 function handle_enter(ev) {
55 JSAN.use('util.barcode');
56 if ( ($('strict_i_barcode').checked) && (! util.barcode.check($('i_barcode').value)) ) {
57 var r = g.error.yns_alert('This barcode has a bad checkdigit.','Barcode Warning','Ok','Clear',null,'Check here to confirm this message');
61 $('i_barcode').value = '';
62 $('i_barcode').focus();
73 function append_to_list() {
80 my.timestamp = parseInt( new Date().getTime() / 1000) + g.delta;
81 my.backdate = util.date.formatted_date(new Date(),"%F %H:%M:%s");
83 var i_barcode = $('i_barcode').value;
84 if (! i_barcode) return;
85 my.barcode = i_barcode;
87 g.list.append( { 'row' : { 'my' : my } } );
89 var x = $('i_barcode'); x.value = ''; x.focus();
93 dump(E+'\n'); alert(E);
98 function next_patron() {
100 JSAN.use('util.file'); var file = new util.file('pending_xacts');
101 var rows = g.list.dump_with_keys();
102 for (var i = 0; i < rows.length; i++) {
103 var row = rows[i]; row.delta = g.delta;
104 file.append_object(row);
108 if ($('print_receipt').checked) {
111 'header' : g.data.print_list_templates.offline_checkin.header,
112 'line_item' : g.data.print_list_templates.offline_checkin.line_item,
113 'footer' : g.data.print_list_templates.offline_checkin.footer,
114 'type' : g.data.print_list_templates.offline_checkin.type,
115 'list' : g.list.dump(),
117 JSAN.use('util.print'); var print = new util.print();
118 print.tree_list( params );
120 g.error.sdump('D_ERROR','print: ' + E);
121 alert('print: ' + E);
128 x = $('i_barcode'); x.value = ''; x.focus();
131 dump(E+'\n'); alert(E);