1 function $(id) { return document.getElementById(id); }
3 function retrieve_patron() {
4 g.patron_id = xul_param('patron_id');
7 JSAN.use('patron.util');
8 g.au_obj = patron.util.retrieve_fleshed_au_via_id( ses(), g.patron_id );
10 $('patron_name').setAttribute('value',
11 ( g.au_obj.prefix() ? g.au_obj.prefix() + ' ' : '') +
12 g.au_obj.family_name() + ', ' +
13 g.au_obj.first_given_name() + ' ' +
14 ( g.au_obj.second_given_name() ? g.au_obj.second_given_name() + ' ' : '' ) +
15 ( g.au_obj.suffix() ? g.au_obj.suffix() : '')
16 + ' : ' + g.au_obj.card().barcode()
22 function retrieve_mbts_for_list() {
23 //var method = 'FM_MBTS_IDS_RETRIEVE_ALL_HAVING_CHARGE';
24 var method = 'FM_MBTS_IDS_RETRIEVE_FOR_HISTORY.authoritative';
25 if (xul_param('current')) method = 'FM_MBTS_IDS_RETRIEVE_ALL_HAVING_BALANCE.authoritative';
26 g.mbts_ids = g.network.simple_request(method,[ses(),g.patron_id]);
27 if (g.mbts_ids.ilsevent) {
28 switch(Number(g.mbts_ids.ilsevent)) {
29 case -1: g.error.standard_network_error_alert($("patronStrings").getString('staff.patron.bill_history.retrieve_mbts_for_list.close_win_try_again')); break;
30 default: g.error.standard_unexpected_error_alert($("patronStrings").getString('staff.patron.bill_history.retrieve_mbts_for_list.close_win_try_again'),g.mbts_ids); break;
32 } else if (g.mbts_ids == null) {
33 g.error.standard_unexpected_error_alert($("patronStrings").getString('staff.patron.bill_history.retrieve_mbts_for_list.close_win_try_again'),null);
35 //g.mbts_ids.reverse();
38 function gen_func(r) {
40 if (typeof r == 'object') {
43 'retrieve_id' : r.id(),
64 for (var i = 0; i < g.mbts_ids.length; i++) {
65 dump('i = ' + i + ' g.mbts_ids[i] = ' + g.mbts_ids[i] + '\n');
66 funcs.push( gen_func(g.mbts_ids[i]) );
68 JSAN.use('util.exec'); var exec = new util.exec(4);
69 exec.on_error = function(E) { alert(E); return true; }
74 function retrieve_specific_mbts() {
75 if (g.mbts_id) g.network.simple_request('FM_MBTS_RETRIEVE.authoritative',[ses(),g.mbts_id],
78 g.mbts = req.getResultObject();
79 if (g.mbts.ilsevent) {
80 switch(Number(g.mbts.ilsevent)) {
81 case -1: g.error.standard_network_error_alert('mbts_id = ' + g.mbts_id); break;
82 default: g.error.standard_unexpected_error_alert('mbts_id = ' + g.mbts_id,g.mbts); break;
85 $('mbts_id').value = g.mbts_id;
86 $('mbts_xact_type').value = g.mbts.xact_type();
87 $('mbts_xact_start').value = g.mbts.xact_start().toString().substr(0,19);
88 $('mbts_xact_finish').value = g.mbts.xact_finish() ? g.mbts.xact_finish().toString().substr(0,19) : '';
89 $('mbts_total_owed').value = g.mbts.total_owed() ? util.money.sanitize( g.mbts.total_owed() ) : '';
90 $('mbts_total_paid').value = g.mbts.total_paid() ? util.money.sanitize( g.mbts.total_paid() ) : '';
91 $('mbts_balance_owed').value = g.mbts.balance_owed() ? util.money.sanitize( g.mbts.balance_owed() ) : '';
94 g.error.sdump('D_ERROR',E);
100 function retrieve_circ() {
101 JSAN.use('util.widgets');
102 util.widgets.remove_children('title');
103 $('title_label').hidden = true;
104 $('checked_out_label').hidden = true;
105 $('due_label').hidden = true;
106 $('checked_in_label').hidden = true;
107 $('checked_out').value = '';
108 $('checked_in').value = '';
110 $('copy_summary').hidden=true;
112 g.network.simple_request('FM_CIRC_RETRIEVE_VIA_ID', [ ses(), g.mbts_id ],
114 var r_circ = req.getResultObject();
115 if (instanceOf(r_circ,circ)) {
117 $('title_label').hidden = false;
118 $('checked_out_label').hidden = false;
119 $('due_label').hidden = false;
120 $('checked_in_label').hidden = false;
121 $('checked_out').value = r_circ.xact_start() ? r_circ.xact_start().toString().substr(0,10) : '';
122 $('checked_in').value = r_circ.checkin_time() ? r_circ.checkin_time().toString().substr(0,10) : '';
123 $('due').value = r_circ.due_date() ? r_circ.due_date().toString().substr(0,10) : '';
125 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
126 $('copy_summary').setAttribute('src',urls.XUL_COPY_SUMMARY + '?copy_id=' + r_circ.target_copy());
127 //get_contentWindow($('copy_summary')).xulG = { 'copy_id' : r_circ.target_copy() };
128 $('copy_summary').hidden=false;
130 g.network.simple_request(
131 'MODS_SLIM_RECORD_RETRIEVE_VIA_COPY.authoritative',
132 [ r_circ.target_copy() ],
134 var r_mvr = rreq.getResultObject();
135 if (instanceOf(r_mvr,mvr)) {
136 $('title').appendChild( document.createTextNode( String(r_mvr.title()).substr(0,50) ) );
138 g.network.simple_request(
140 [ r_circ.target_copy() ],
142 var r_acp = rrreq.getResultObject();
143 if (instanceOf(r_acp,acp)) {
144 $('title').appendChild( document.createTextNode( r_acp.dummy_title() ) );
157 function init_lists() {
158 JSAN.use('util.list');
159 g.bill_list = new util.list('bill_tree');
162 'columns' : patron.util.mbts_columns({}),
163 'map_row_to_columns' : patron.util.std_map_row_to_columns(' '),
164 'on_select' : function(ev) {
165 JSAN.use('util.functional');
166 g.bill_list_selection = util.functional.map_list(
167 g.bill_list.retrieve_selection(),
168 function(o) { return o.getAttribute('retrieve_id'); }
170 $('details').disabled = g.bill_list_selection.length == 0;
171 $('add').disabled = g.bill_list_selection.length == 0;
172 $('summary').hidden = g.bill_list_selection.length == 0;
173 $('copy_summary').hidden = g.bill_list_selection.length == 0;
174 g.mbts_id = g.bill_list_selection[0];
175 retrieve_specific_mbts();
178 'retrieve_row' : function(params) {
179 var id = params.retrieve_id;
180 var row = params.row;
182 if (typeof row.my == 'undefined') row.my = {};
183 if ( typeof row.my.mbts == 'undefined' ) {
184 var mbts_obj = g.network.simple_request('FM_MBTS_RETRIEVE.authoritative',[ses(),id]);
185 row.my.mbts = mbts_obj;
188 if (typeof params.on_retrieve == 'function') {
189 params.on_retrieve(row);
199 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
200 if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
201 JSAN.errorLevel = "die"; // none, warn, or die
202 JSAN.addRepository('/xul/server/');
204 JSAN.use('util.error'); g.error = new util.error();
205 JSAN.use('util.network'); g.network = new util.network();
206 JSAN.use('util.date');
207 JSAN.use('util.money');
208 JSAN.use('patron.util');
209 JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.init({'via':'stash'});
210 //g.data.temp = ''; g.data.stash('temp');
212 g.error.sdump('D_TRACE','my_init() for bill_history.xul');
218 retrieve_mbts_for_list();
220 $('details').addEventListener(
226 $('add').addEventListener(
232 if (xul_param('current')) {
233 $('caption').setAttribute('label',$("patronStrings").getString('staff.patron.bill_history.my_init.current_bills'));
234 document.title = $("patronStrings").getString('staff.patron.bill_history.my_init.current_bills');
236 $('caption').setAttribute('label',$("patronStrings").getString('staff.patron.bill_history.my_init.bill_history'));
237 document.title = $("patronStrings").getString('staff.patron.bill_history.my_init.bill_history');
241 var err_msg = $("commonStrings").getFormattedString('common.exception', ['patron/bill_history.xul', E]);
242 try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
247 function handle_add() {
248 if(g.bill_list_selection.length > 1)
249 var msg = $("patronStrings").getFormattedString('staff.patron.bill_history.handle_add.message_plural', [g.bill_list_selection]);
251 var msg = $("patronStrings").getFormattedString('staff.patron.bill_history.handle_add.message_singular', [g.bill_list_selection]);
253 var r = g.error.yns_alert(msg,
254 $("patronStrings").getString('staff.patron.bill_history.handle_add.title'),
255 $("patronStrings").getString('staff.patron.bill_history.handle_add.btn_yes'),
256 $("patronStrings").getString('staff.patron.bill_history.handle_add.btn_no'),null,
257 $("patronStrings").getString('staff.patron.bill_history.handle_add.confirm_message'));
259 JSAN.use('util.window');
260 var win = new util.window();
262 urls.XUL_PATRON_BILL_WIZARD,
263 //+ '?patron_id=' + window.escape(g.patron_id)
264 //+ '&xact_id=' + window.escape( g.bill_list_selection[0] ),
266 'chrome,resizable,modal',
267 { 'patron_id' : g.patron_id, 'xact_id' : g.bill_list_selection[0] }
270 retrieve_mbts_for_list();
271 if (typeof window.refresh == 'function') window.refresh();
272 if (typeof window.xulG == 'object' && typeof window.xulG.refresh == 'function') window.xulG.refresh();
276 function handle_details() {
277 JSAN.use('util.window'); var win = new util.window();
278 var my_xulG = win.open(
279 urls.XUL_PATRON_BILL_DETAILS,
280 //+ '?patron_id=' + window.escape(g.patron_id)
281 //+ '&mbts_id=' + window.escape( g.bill_list_selection[0] ),
285 'patron_id' : g.patron_id,
286 'mbts_id' : g.bill_list_selection[0],
287 'refresh' : function() {
288 if (typeof window.refresh == 'function') window.refresh();
289 if (typeof window.xulG == 'object' && typeof window.xulG.refresh == 'function') window.xulG.refresh();
295 function print_bills() {
297 var template = 'bills_historical'; if (xul_param('current')) template = 'bills_current';
298 JSAN.use('patron.util');
300 'patron' : patron.util.retrieve_au_via_id(ses(),g.patron_id),
301 'template' : template
303 g.bill_list.print(params);
305 g.error.standard_unexpected_error_alert($("patronStrings").getString('staff.patron.bill_history.print_bills.print_error'), E);