1 function $(id) { return document.getElementById(id); }
3 function retrieve_mbts_for_list() {
4 //var method = 'FM_MBTS_IDS_RETRIEVE_ALL_HAVING_CHARGE';
5 var method = 'FM_MBTS_IDS_RETRIEVE_FOR_HISTORY.authoritative';
6 if (xul_param('current')) method = 'FM_MBTS_IDS_RETRIEVE_ALL_HAVING_BALANCE.authoritative';
7 g.mbts_ids = g.network.simple_request(method,[ses(),g.patron_id]);
8 if (g.mbts_ids.ilsevent) {
9 switch(Number(g.mbts_ids.ilsevent)) {
10 case -1: g.error.standard_network_error_alert($("patronStrings").getString('staff.patron.bill_history.retrieve_mbts_for_list.close_win_try_again')); break;
11 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;
13 } else if (g.mbts_ids == null) {
14 g.error.standard_unexpected_error_alert($("patronStrings").getString('staff.patron.bill_history.retrieve_mbts_for_list.close_win_try_again'),null);
16 //g.mbts_ids.reverse();
18 function gen_func(r) {
20 if (typeof r == 'object') {
23 'retrieve_id' : r.id(),
44 for (var i = 0; i < g.mbts_ids.length; i++) {
45 dump('i = ' + i + ' g.mbts_ids[i] = ' + g.mbts_ids[i] + '\n');
46 g.funcs.push( gen_func(g.mbts_ids[i]) );
51 function init_lists() {
52 JSAN.use('util.list'); JSAN.use('circ.util');
53 g.bill_list = new util.list('bill_tree');
57 patron.util.mbts_columns({
58 'xact_finish' : { 'hidden' : xul_param('current') ? true : false }
61 'title' : { 'hidden' : false, 'flex' : '3' }
64 'map_row_to_columns' : patron.util.std_map_row_to_columns(' '),
65 'on_select' : function(ev) {
66 JSAN.use('util.functional');
67 g.bill_list_selection = util.functional.map_list(
68 g.bill_list.retrieve_selection(),
69 function(o) { return o.getAttribute('retrieve_id'); }
71 $('details').disabled = g.bill_list_selection.length == 0;
72 $('add').disabled = g.bill_list_selection.length == 0;
73 $('summary').hidden = g.bill_list_selection.length == 0;
74 $('copy_summary').hidden = g.bill_list_selection.length == 0;
76 'retrieve_row' : function(params) {
77 var id = params.retrieve_id;
80 if (typeof row.my == 'undefined') row.my = {};
81 if (typeof row.my.mbts == 'undefined' ) {
82 g.network.simple_request('BLOB_MBTS_DETAILS_RETRIEVE',[ses(),id], function(req) {
83 var blob = req.getResultObject();
84 row.my.mbts = blob.transaction;
85 row.my.circ = blob.circ;
86 row.my.acp = blob.copy;
87 row.my.mvr = blob.record;
88 if (typeof params.on_retrieve == 'function') {
89 params.on_retrieve(row);
98 $('bill_list_actions').appendChild( g.bill_list.render_list_actions() );
99 g.bill_list.set_list_actions();
104 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
105 if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
106 JSAN.errorLevel = "die"; // none, warn, or die
107 JSAN.addRepository('/xul/server/');
109 JSAN.use('util.error'); g.error = new util.error();
110 JSAN.use('util.network'); g.network = new util.network();
111 JSAN.use('util.date');
112 JSAN.use('util.money');
113 JSAN.use('patron.util');
114 JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.init({'via':'stash'});
115 //g.data.temp = ''; g.data.stash('temp');
117 g.error.sdump('D_TRACE','my_init() for bill_history.xul');
119 if (xul_param('current')) {
120 $('caption').setAttribute('label',$("patronStrings").getString('staff.patron.bill_history.my_init.current_bills'));
121 document.title = $("patronStrings").getString('staff.patron.bill_history.my_init.current_bills');
123 $('caption').setAttribute('label',$("patronStrings").getString('staff.patron.bill_history.my_init.bill_history'));
124 document.title = $("patronStrings").getString('staff.patron.bill_history.my_init.bill_history');
129 g.patron_id = xul_param('patron_id');
133 retrieve_mbts_for_list();
135 $('details').addEventListener(
141 $('add').addEventListener(
147 JSAN.use('util.exec'); var exec = new util.exec(20);
148 exec.on_error = function(E) { alert(E); return true; }
149 exec.timer(g.funcs,100);
151 var err_msg = $("commonStrings").getFormattedString('common.exception', ['patron/bill_history.xul', E]);
152 try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
157 function handle_add() {
158 if(g.bill_list_selection.length > 1)
159 var msg = $("patronStrings").getFormattedString('staff.patron.bill_history.handle_add.message_plural', [g.bill_list_selection]);
161 var msg = $("patronStrings").getFormattedString('staff.patron.bill_history.handle_add.message_singular', [g.bill_list_selection]);
163 var r = g.error.yns_alert(msg,
164 $("patronStrings").getString('staff.patron.bill_history.handle_add.title'),
165 $("patronStrings").getString('staff.patron.bill_history.handle_add.btn_yes'),
166 $("patronStrings").getString('staff.patron.bill_history.handle_add.btn_no'),null,
167 $("patronStrings").getString('staff.patron.bill_history.handle_add.confirm_message'));
169 JSAN.use('util.window');
170 var win = new util.window();
172 urls.XUL_PATRON_BILL_WIZARD,
173 //+ '?patron_id=' + window.escape(g.patron_id)
174 //+ '&xact_id=' + window.escape( g.bill_list_selection[0] ),
176 'chrome,resizable,modal',
177 { 'patron_id' : g.patron_id, 'xact_id' : g.bill_list_selection[0] }
180 retrieve_mbts_for_list();
181 if (typeof window.refresh == 'function') window.refresh();
182 if (typeof window.xulG == 'object' && typeof window.xulG.refresh == 'function') window.xulG.refresh();
186 function handle_details() {
187 JSAN.use('util.window'); var win = new util.window();
188 var my_xulG = win.open(
189 urls.XUL_PATRON_BILL_DETAILS,
190 //+ '?patron_id=' + window.escape(g.patron_id)
191 //+ '&mbts_id=' + window.escape( g.bill_list_selection[0] ),
195 'patron_id' : g.patron_id,
196 'mbts_id' : g.bill_list_selection[0],
197 'refresh' : function() {
198 if (typeof window.refresh == 'function') window.refresh();
199 if (typeof window.xulG == 'object' && typeof window.xulG.refresh == 'function') window.xulG.refresh();
205 function print_bills() {
207 var template = 'bills_historical'; if (xul_param('current')) template = 'bills_current';
208 JSAN.use('patron.util');
210 'patron' : patron.util.retrieve_au_via_id(ses(),g.patron_id),
211 'template' : template
213 g.bill_list.print(params);
215 g.error.standard_unexpected_error_alert($("patronStrings").getString('staff.patron.bill_history.print_bills.print_error'), E);