1 dump('entering patron/util.js\n');
3 if (typeof patron == 'undefined') var patron = {};
6 patron.util.EXPORT_OK = [
7 'columns', 'std_map_row_to_column', 'retrieve_au_via_id', 'retrieve_fleshed_au_via_id', 'set_penalty_css'
9 patron.util.EXPORT_TAGS = { ':all' : patron.util.EXPORT_OK };
11 patron.util.columns = function(modify) {
13 JSAN.use('OpenILS.data'); var data = new OpenILS.data(); data.init({'via':'stash'});
15 function getString(s) { return data.entities[s]; }
19 'id' : 'barcode', 'label' : 'Barcode', 'flex' : 1,
20 'primary' : false, 'hidden' : true, 'render' : 'my.au.card().barcode()'
23 'id' : 'usrname', 'label' : 'Login Name', 'flex' : 1,
24 'primary' : false, 'hidden' : true, 'render' : 'my.au.usrname()'
27 'id' : 'profile', 'label' : 'Group', 'flex' : 1,
28 'primary' : false, 'hidden' : true, 'render' : 'obj.OpenILS.data.hash.pgt[ my.au.profile() ].name()'
31 'id' : 'active', 'label' : getString('staff.au_label_active'), 'flex' : 1,
32 'primary' : false, 'hidden' : true, 'render' : 'my.au.active() ? "Yes" : "No"'
35 'id' : 'id', 'label' : getString('staff.au_label_id'), 'flex' : 1,
36 'primary' : false, 'hidden' : true, 'render' : 'my.au.id()'
39 'id' : 'prefix', 'label' : getString('staff.au_label_prefix'), 'flex' : 1,
40 'primary' : false, 'hidden' : true, 'render' : 'my.au.prefix()'
43 'id' : 'family_name', 'label' : getString('staff.au_label_family_name'), 'flex' : 1,
44 'primary' : false, 'hidden' : true, 'render' : 'my.au.family_name()'
47 'id' : 'first_given_name', 'label' : getString('staff.au_label_first_given_name'), 'flex' : 1,
48 'primary' : false, 'hidden' : true, 'render' : 'my.au.first_given_name()'
51 'id' : 'second_given_name', 'label' : getString('staff.au_label_second_given_name'), 'flex' : 1,
52 'primary' : false, 'hidden' : true, 'render' : 'my.au.second_given_name()'
55 'id' : 'suffix', 'label' : getString('staff.au_label_suffix'), 'flex' : 1,
56 'primary' : false, 'hidden' : true, 'render' : 'my.au.suffix()'
59 'id' : 'alert_message', 'label' : 'Alert', 'flex' : 1,
60 'primary' : false, 'hidden' : true, 'render' : 'my.au.alert_message()'
63 'id' : 'claims_returned_count', 'label' : 'Returns Claimed', 'flex' : 1,
64 'primary' : false, 'hidden' : true, 'render' : 'my.au.claims_returned_count()'
67 'id' : 'create_date', 'label' : 'Created On', 'flex' : 1,
68 'primary' : false, 'hidden' : true, 'render' : 'my.au.create_date()'
71 'id' : 'expire_date', 'label' : 'Expires On', 'flex' : 1,
72 'primary' : false, 'hidden' : true, 'render' : 'my.au.expire_date()'
75 'id' : 'home_ou', 'label' : 'Home Lib', 'flex' : 1,
76 'primary' : false, 'hidden' : true, 'render' : 'obj.OpenILS.data.hash.aou[ my.au.home_ou() ].shortname()'
79 'id' : 'credit_forward_balance', 'label' : 'Credit', 'flex' : 1,
80 'primary' : false, 'hidden' : true, 'render' : 'my.au.credit_forward_balance()'
83 'id' : 'day_phone', 'label' : 'Day Phone', 'flex' : 1,
84 'primary' : false, 'hidden' : true, 'render' : 'my.au.day_phone()'
87 'id' : 'evening_phone', 'label' : 'Evening Phone', 'flex' : 1,
88 'primary' : false, 'hidden' : true, 'render' : 'my.au.evening_phone()'
91 'id' : 'other_phone', 'label' : 'Other Phone', 'flex' : 1,
92 'primary' : false, 'hidden' : true, 'render' : 'my.au.other_phone()'
95 'id' : 'email', 'label' : 'Email', 'flex' : 1,
96 'primary' : false, 'hidden' : true, 'render' : 'my.au.email()'
99 'id' : 'dob', 'label' : 'Birth Date', 'flex' : 1,
100 'primary' : false, 'hidden' : true, 'render' : 'my.au.dob()'
103 'id' : 'ident_type', 'label' : 'Ident Type', 'flex' : 1,
104 'primary' : false, 'hidden' : true, 'render' : 'obj.OpenILS.data.hash.cit[ my.au.ident_type() ].name()'
107 'id' : 'ident_value', 'label' : 'Ident Value', 'flex' : 1,
108 'primary' : false, 'hidden' : true, 'render' : 'my.au.ident_value()'
111 'id' : 'ident_type2', 'label' : 'Ident Type 2', 'flex' : 1,
112 'primary' : false, 'hidden' : true, 'render' : 'obj.OpenILS.data.hash.cit[ my.au.ident_type2() ].name()'
115 'id' : 'ident_value2', 'label' : 'Ident Value 2', 'flex' : 1,
116 'primary' : false, 'hidden' : true, 'render' : 'my.au.ident_value2()'
119 'id' : 'net_access_level', 'label' : 'Net Access', 'flex' : 1,
120 'primary' : false, 'hidden' : true, 'render' : 'my.au.net_access_level()'
123 for (var i = 0; i < c.length; i++) {
124 if (modify[ c[i].id ]) {
125 for (var j in modify[ c[i].id ]) {
126 c[i][j] = modify[ c[i].id ][j];
133 patron.util.std_map_row_to_column = function() {
134 return function(row,col) {
135 // row contains { 'my' : { 'au' : {} } }
136 // col contains one of the objects listed above in columns
138 var obj = {}; obj.OpenILS = {};
139 JSAN.use('util.error'); obj.error = new util.error();
140 JSAN.use('OpenILS.data'); obj.OpenILS.data = new OpenILS.data(); obj.OpenILS.data.init({'via':'stash'});
145 value = eval( col.render );
147 obj.error.sdump('D_ERROR','map_row_to_column: ' + E);
154 patron.util.retrieve_au_via_id = function(session, id) {
155 JSAN.use('util.network');
156 var network = new util.network();
157 var patron = network.request(
158 api.FM_AU_RETRIEVE_VIA_ID.app,
159 api.FM_AU_RETRIEVE_VIA_ID.method,
165 patron.util.retrieve_fleshed_au_via_id = function(session, id) {
166 JSAN.use('util.network');
167 var network = new util.network();
168 var patron = network.simple_request(
169 'FM_AU_FLESHED_RETRIEVE_VIA_ID',
172 patron.util.set_penalty_css(patron);
176 patron.util.set_penalty_css = function(patron) {
178 var penalties = patron.standing_penalties();
179 for (var i = 0; i < penalties.length; i++) {
180 /* this comes from /opac/common/js/utils.js */
181 addCSSClass(document.documentElement,penalties[i].penalty_type());
184 dump('patron.util.set_penalty_css: ' + E + '\n');
185 alert('patron.util.set_penalty_css: ' + E + '\n');
190 dump('exiting patron/util.js\n');