1 dump('entering circ/util.js\n');
3 if (typeof circ == 'undefined') var circ = {};
6 circ.util.EXPORT_OK = [
7 'offline_checkout_columns',
8 'offline_checkin_columns',
9 'offline_renew_columns',
10 'offline_inhouse_use_columns',
11 'hold_columns', 'CHECKIN_VIA_BARCODE', 'std_map_row_to_column', 'hold_capture_via_copy_barcode'
13 circ.util.EXPORT_TAGS = { ':all' : circ.util.EXPORT_OK };
15 circ.util.offline_checkout_columns = function(modify,params) {
20 'label' : 'Timestamp',
21 'flex' : 1, 'primary' : false, 'hidden' : true,
22 'render' : 'my.timestamp'
25 'id' : 'checkout_time',
26 'label' : 'Check Out Time',
27 'flex' : 1, 'primary' : false, 'hidden' : true,
28 'render' : 'my.checkout_time'
32 'label' : 'Transaction Type',
33 'flex' : 1, 'primary' : false, 'hidden' : true,
38 'label' : 'Non-Cataloged?',
39 'flex' : 1, 'primary' : false, 'hidden' : true,
40 'render' : 'my.noncat'
44 'label' : 'Non-Cat Type ID',
45 'flex' : 1, 'primary' : false, 'hidden' : true,
46 'render' : 'my.noncat_type'
49 'id' : 'noncat_count',
51 'flex' : 1, 'primary' : false, 'hidden' : false,
52 'render' : 'my.noncat_count'
55 'id' : 'patron_barcode',
56 'label' : 'Patron Barcode',
57 'flex' : 1, 'primary' : false, 'hidden' : true,
58 'render' : 'my.patron_barcode'
62 'label' : 'Item Barcode',
63 'flex' : 2, 'primary' : true, 'hidden' : false,
64 'render' : 'my.barcode'
69 'flex' : 1, 'primary' : false, 'hidden' : false,
70 'render' : 'my.due_date'
73 if (modify) for (var i = 0; i < c.length; i++) {
74 if (modify[ c[i].id ]) {
75 for (var j in modify[ c[i].id ]) {
76 c[i][j] = modify[ c[i].id ][j];
81 if (params.just_these) {
82 JSAN.use('util.functional');
84 for (var i = 0; i < params.just_these.length; i++) {
85 var x = util.functional.find_list(c,function(d){return(d.id==params.just_these[i]);});
86 new_c.push( function(y){ return y; }( x ) );
94 circ.util.offline_checkin_columns = function(modify,params) {
99 'label' : 'Timestamp',
100 'flex' : 1, 'primary' : false, 'hidden' : true,
101 'render' : 'my.timestamp'
105 'label' : 'Back Date',
106 'flex' : 1, 'primary' : false, 'hidden' : true,
107 'render' : 'my.backdate'
111 'label' : 'Transaction Type',
112 'flex' : 1, 'primary' : false, 'hidden' : true,
117 'label' : 'Item Barcode',
118 'flex' : 2, 'primary' : true, 'hidden' : false,
119 'render' : 'my.barcode'
122 if (modify) for (var i = 0; i < c.length; i++) {
123 if (modify[ c[i].id ]) {
124 for (var j in modify[ c[i].id ]) {
125 c[i][j] = modify[ c[i].id ][j];
130 if (params.just_these) {
131 JSAN.use('util.functional');
133 for (var i = 0; i < params.just_these.length; i++) {
134 var x = util.functional.find_list(c,function(d){return(d.id==params.just_these[i]);});
135 new_c.push( function(y){ return y; }( x ) );
143 circ.util.offline_renew_columns = function(modify,params) {
148 'label' : 'Timestamp',
149 'flex' : 1, 'primary' : false, 'hidden' : true,
150 'render' : 'my.timestamp'
153 'id' : 'checkout_time',
154 'label' : 'Check Out Time',
155 'flex' : 1, 'primary' : false, 'hidden' : true,
156 'render' : 'my.checkout_time'
160 'label' : 'Transaction Type',
161 'flex' : 1, 'primary' : false, 'hidden' : true,
165 'id' : 'patron_barcode',
166 'label' : 'Patron Barcode',
167 'flex' : 1, 'primary' : false, 'hidden' : true,
168 'render' : 'my.patron_barcode'
172 'label' : 'Item Barcode',
173 'flex' : 2, 'primary' : true, 'hidden' : false,
174 'render' : 'my.barcode'
178 'label' : 'Due Date',
179 'flex' : 1, 'primary' : false, 'hidden' : false,
180 'render' : 'my.due_date'
183 if (modify) for (var i = 0; i < c.length; i++) {
184 if (modify[ c[i].id ]) {
185 for (var j in modify[ c[i].id ]) {
186 c[i][j] = modify[ c[i].id ][j];
191 if (params.just_these) {
192 JSAN.use('util.functional');
194 for (var i = 0; i < params.just_these.length; i++) {
195 var x = util.functional.find_list(c,function(d){return(d.id==params.just_these[i]);});
196 new_c.push( function(y){ return y; }( x ) );
204 circ.util.offline_inhouse_use_columns = function(modify,params) {
209 'label' : 'Timestamp',
210 'flex' : 1, 'primary' : false, 'hidden' : true,
211 'render' : 'my.timestamp'
215 'label' : 'Use Time',
216 'flex' : 1, 'primary' : false, 'hidden' : true,
217 'render' : 'my.use_time'
221 'label' : 'Transaction Type',
222 'flex' : 1, 'primary' : false, 'hidden' : true,
228 'flex' : 1, 'primary' : false, 'hidden' : false,
229 'render' : 'my.count'
233 'label' : 'Item Barcode',
234 'flex' : 2, 'primary' : true, 'hidden' : false,
235 'render' : 'my.barcode'
238 if (modify) for (var i = 0; i < c.length; i++) {
239 if (modify[ c[i].id ]) {
240 for (var j in modify[ c[i].id ]) {
241 c[i][j] = modify[ c[i].id ][j];
246 if (params.just_these) {
247 JSAN.use('util.functional');
249 for (var i = 0; i < params.just_these.length; i++) {
250 var x = util.functional.find_list(c,function(d){return(d.id==params.just_these[i]);});
251 new_c.push( function(y){ return y; }( x ) );
261 circ.util.std_map_row_to_column = function(error_value) {
262 return function(row,col) {
263 // row contains { 'my' : { 'barcode' : xxx, 'duedate' : xxx } }
264 // col contains one of the objects listed above in columns
269 value = eval( col.render );
270 if (typeof value == 'undefined') value = '';
273 JSAN.use('util.error'); var error = new util.error();
274 error.sdump('D_WARN','map_row_to_column: ' + E);
275 if (error_value) value = error_value; else value = '???';
282 dump('exiting circ/util.js\n');