1 dump('entering patron/search_result.js\n');
3 if (typeof patron == 'undefined') patron = {};
4 patron.search_result = function (params) {
6 JSAN.use('util.error'); this.error = new util.error();
7 JSAN.use('util.network'); this.network = new util.network();
11 patron.search_result.prototype = {
13 'init' : function( params ) {
17 obj.session = params['session'];
18 obj.query = params['query'];
20 JSAN.use('OpenILS.data'); this.OpenILS = {};
21 obj.OpenILS.data = new OpenILS.data(); obj.OpenILS.data.init({'via':'stash'});
23 JSAN.use('util.list'); obj.list = new util.list('patron_list');
24 function getString(s) { return obj.OpenILS.data.entities[s]; }
29 'active' : 'barcode_col', 'label' : 'Barcode', 'flex' : 1,
30 'primary' : false, 'hidden' : false, 'render' : 'my.au.card().barcode()'
33 'active' : 'id_col', 'label' : getString('staff.au_label_active'), 'flex' : 1,
34 'primary' : false, 'hidden' : false, 'render' : 'my.au.active() ? "Yes" : "No"'
37 'id' : 'id_col', 'label' : getString('staff.au_label_id'), 'flex' : 1,
38 'primary' : false, 'hidden' : false, 'render' : 'my.au.id()'
41 'id' : 'prefix_col', 'label' : getString('staff.au_label_prefix'), 'flex' : 1,
42 'primary' : false, 'hidden' : false, 'render' : 'my.au.prefix()'
45 'id' : 'family_name_col', 'label' : getString('staff.au_label_family_name'), 'flex' : 1,
46 'primary' : false, 'hidden' : false, 'render' : 'my.au.family_name()'
49 'id' : 'first_given_name_col', 'label' : getString('staff.au_label_first_given_name'), 'flex' : 1,
50 'primary' : false, 'hidden' : false, 'render' : 'my.au.first_given_name()'
53 'id' : 'second_given_name_col', 'label' : getString('staff.au_label_second_given_name'), 'flex' : 1,
54 'primary' : false, 'hidden' : false, 'render' : 'my.au.second_given_name()'
57 'id' : 'suffix_col', 'label' : getString('staff.au_label_suffix'), 'flex' : 1,
58 'primary' : false, 'hidden' : false, 'render' : 'my.au.suffix()'
61 'map_row_to_column' : function(row,col) {
62 // row contains { 'my' : { 'au' : {} } }
63 // col contains one of the objects listed above in columns
65 return eval( col.render );
67 'retrieve_row' : function(params) {
68 var id = params.retrieve_id;
69 var patron = obj.network.request(
70 api.fm_au_retrieve_via_id.app,
71 api.fm_au_retrieve_via_id.method,
76 if (typeof row.my == 'undefined') row.my = {};
83 JSAN.use('util.controller'); obj.controller = new util.controller();
89 function() { alert('Not Yet Implemented'); }
95 if (obj.query) obj.search(obj.query);
98 'search' : function(query) {
100 for (var i in query) {
102 case 'phone': case 'ident':
104 search_hash[ i ] = {};
105 search_hash[ i ].value = query[i];
106 search_hash[i].group = 2;
109 case 'street1': case 'street2': case 'city': case 'state': case 'post_code':
111 search_hash[ i ] = {};
112 search_hash[ i ].value = query[i];
113 search_hash[i].group = 1;
116 case 'family_name': case 'first_given_name': case 'second_given_name': case 'email':
118 search_hash[ i ] = {};
119 search_hash[ i ].value = query[i];
120 search_hash[i].group = 0;
125 var results = this.network.request(
126 api.fm_au_ids_retrieve_via_hash.app,
127 api.fm_au_ids_retrieve_via_hash.method,
128 [ this.session, search_hash ]
130 for (var i = 0; i < results.length; i++) {
131 this.list.append( { 'retrieve_id' : results[i], 'row' : {} } );
134 this.error.sdump('D_ERROR','patron.search_result.search: ' + js2JSON(E));
140 dump('exiting patron/search_result.js\n');