1 dump('entering circ.checkout.js\n');
3 if (typeof patron == 'undefined') patron = {};
4 circ.checkout = function (params) {
6 JSAN.use('util.error'); this.error = new util.error();
7 JSAN.use('main.network'); this.network = new main.network();
9 JSAN.use('OpenILS.data'); this.OpenILS = {};
10 this.OpenILS.data = new OpenILS.data(); this.OpenILS.data.init(true);
13 circ.checkout.prototype = {
15 'init' : function( params ) {
19 obj.session = params['session'];
20 obj.patron_id = params['patron_id'];
22 JSAN.use('OpenILS.data'); obj.OpenILS = {};
23 obj.OpenILS.data = new OpenILS.data(); obj.OpenILS.data.init(true);
26 JSAN.use('main.list'); obj.list = new main.list('checkout_list');
27 //FIXME//getString used to wrap StringBundles, but we need to do the entity/div thing
28 function getString(s) { return obj.OpenILS.data.entities[s]; }
33 'id' : 'acp_id', 'label' : getString('staff.acp_label_id'), 'flex' : 1,
34 'primary' : false, 'hidden' : true, 'render' : 'my.acp.id()'
37 'id' : 'circ_id', 'label' : getString('staff.circ_label_id'), 'flex' : 1,
38 'primary' : false, 'hidden' : true, 'render' : 'my.circ.id()'
41 'id' : 'mvr_doc_id', 'label' : getString('staff.mvr_label_doc_id'), 'flex' : 1,
42 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.doc_id()'
45 'id' : 'barcode', 'label' : getString('staff.acp_label_barcode'), 'flex' : 1,
46 'primary' : false, 'hidden' : false, 'render' : 'my.acp.barcode()'
49 'id' : 'call_number', 'label' : getString('staff.acp_label_call_number'), 'flex' : 1,
50 'primary' : false, 'hidden' : true, 'render' : 'my.acp.call_number()'
53 'id' : 'copy_number', 'label' : getString('staff.acp_label_copy_number'), 'flex' : 1,
54 'primary' : false, 'hidden' : true, 'render' : 'my.acp.copy_number()'
57 'id' : 'location', 'label' : getString('staff.acp_label_location'), 'flex' : 1,
58 'primary' : false, 'hidden' : true, 'render' : 'my.acp.location()'
61 'id' : 'loan_duration', 'label' : getString('staff.acp_label_loan_duration'), 'flex' : 1,
62 'primary' : false, 'hidden' : true, 'render' : 'my.acp.loan_duration()'
65 'id' : 'circ_lib', 'label' : getString('staff.acp_label_circ_lib'), 'flex' : 1,
66 'primary' : false, 'hidden' : true, 'render' : 'my.acp.circ_lib()'
69 'id' : 'fine_level', 'label' : getString('staff.acp_label_fine_level'), 'flex' : 1,
70 'primary' : false, 'hidden' : true, 'render' : 'my.acp.fine_level()'
73 'id' : 'deposit', 'label' : getString('staff.acp_label_deposit'), 'flex' : 1,
74 'primary' : false, 'hidden' : true, 'render' : 'my.acp.deposit()'
77 'id' : 'deposit_amount', 'label' : getString('staff.acp_label_deposit_amount'), 'flex' : 1,
78 'primary' : false, 'hidden' : true, 'render' : 'my.acp.deposit_amount()'
81 'id' : 'price', 'label' : getString('staff.acp_label_price'), 'flex' : 1,
82 'primary' : false, 'hidden' : true, 'render' : 'my.acp.price()'
85 'id' : 'circ_as_type', 'label' : getString('staff.acp_label_circ_as_type'), 'flex' : 1,
86 'primary' : false, 'hidden' : true, 'render' : 'my.acp.circ_as_type()'
89 'id' : 'circ_modifier', 'label' : getString('staff.acp_label_circ_modifier'), 'flex' : 1,
90 'primary' : false, 'hidden' : true, 'render' : 'my.acp.circ_modifier()'
93 'id' : 'xact_start', 'label' : getString('staff.circ_label_xact_start'), 'flex' : 1,
94 'primary' : false, 'hidden' : true, 'render' : 'my.circ.xact_start()'
97 'id' : 'xact_finish', 'label' : getString('staff.circ_label_xact_finish'), 'flex' : 1,
98 'primary' : false, 'hidden' : true, 'render' : 'my.circ.xact_finish()'
101 'id' : 'due_date', 'label' : getString('staff.circ_label_due_date'), 'flex' : 1,
102 'primary' : false, 'hidden' : false, 'render' : 'my.circ.due_date().substr(0,10)'
105 'id' : 'title', 'label' : getString('staff.mvr_label_title'), 'flex' : 2,
106 'primary' : false, 'hidden' : false, 'render' : 'my.mvr.title()'
109 'id' : 'author', 'label' : getString('staff.mvr_label_author'), 'flex' : 1,
110 'primary' : false, 'hidden' : false, 'render' : 'my.mvr.author()'
113 'id' : 'renewal_remaining', 'label' : getString('staff.circ_label_renewal_remaining'), 'flex' : 0,
114 'primary' : false, 'hidden' : false, 'render' : 'my.circ.renewal_remaining()'
117 'id' : 'status', 'label' : getString('staff.acp_label_status'), 'flex' : 1,
118 'primary' : false, 'hidden' : false, 'render' : 'stash.data.hash.acp[ my.acp.status() ].name()'
121 'map_row_to_column' : function(row,col) {
122 // row contains { 'my' : { 'acp' : {}, 'circ' : {}, 'mvr' : {} } }
123 // col contains one of the objects listed above in columns
124 JSAN.use('OpenILS.data'); var stash = new OpenILS.data(); stash.init(true);
126 return eval( col.render );
131 JSAN.use('main.controller'); obj.controller = new main.controller();
135 'checkout_barcode_entry_textbox' : [
142 function() { alert('Not Yet Implemented'); }
144 'cmd_checkout_submit_barcode' : [
148 var barcode = obj.controller.view.checkout_barcode_entry_textbox.value;
149 var permit = obj.network.request(
151 'open-ils.circ.permit_checkout',
152 [ obj.session, barcode, obj.patron_id, 0 ]
155 if (permit.status == 0) {
156 var checkout = obj.network.request(
158 'open-ils.circ.checkout.barcode',
159 [ obj.session, barcode, obj.patron_id ]
165 'circ' : checkout.circ,
166 'mvr' : checkout.record,
167 'acp' : checkout.copy
170 //I could override map_row_to_column here
178 alert('FIXME: need special alert and error handling\n'
183 'cmd_checkout_print' : [
188 'cmd_checkout_reprint' : [
193 'cmd_checkout_done' : [
205 dump('exiting circ.checkout.js\n');