1 dump('entering patron.holds.js\n');
3 if (typeof patron == 'undefined') patron = {};
4 patron.holds = function (params) {
6 JSAN.use('util.error'); this.error = new util.error();
7 JSAN.use('util.network'); this.network = new util.network();
8 this.OpenILS = {}; JSAN.use('OpenILS.data'); this.OpenILS.data = new OpenILS.data(); this.OpenILS.data.init({'via':'stash'});
11 patron.holds.prototype = {
13 'init' : function( params ) {
17 obj.session = params['session'];
18 obj.patron_id = params['patron_id'];
20 JSAN.use('circ.util');
21 var columns = circ.util.hold_columns(
23 'title' : { 'hidden' : false, 'flex' : '3' },
24 'request_time' : { 'hidden' : false },
25 'pickup_lib_shortname' : { 'hidden' : false },
26 'hold_type' : { 'hidden' : false },
27 'current_copy' : { 'hidden' : false },
28 'capture_time' : { 'hidden' : false },
32 JSAN.use('util.list'); obj.list = new util.list('holds_list');
36 'map_row_to_column' : circ.util.std_map_row_to_column(),
37 'retrieve_row' : function(params) {
40 switch(row.my.ahr.hold_type()) {
42 row.my.mvr = obj.network.request(
43 api.MODS_SLIM_METARECORD_RETRIEVE.app,
44 api.MODS_SLIM_METARECORD_RETRIEVE.method,
45 [ row.my.ahr.target() ]
49 row.my.mvr = obj.network.request(
50 api.MODS_SLIM_RECORD_RETRIEVE.app,
51 api.MODS_SLIM_RECORD_RETRIEVE.method,
52 [ row.my.ahr.target() ]
54 row.my.acp = obj.network.simple_request(
55 'FM_ACP_RETRIEVE', [ row.my.ahr.current_copy() ]
60 obj.error.sdump('D_ERROR','retrieve_row: ' + E );
62 if (typeof params.on_retrieve == 'function') {
63 params.on_retrieve(row);
70 JSAN.use('util.controller'); obj.controller = new util.controller();
76 function() { alert('Not Yet Implemented'); }
81 dump(js2JSON(obj.list.dump()) + '\n');
83 JSAN.use('patron.util');
85 'patron' : patron.util.retrieve_au_via_id(obj.session,obj.patron_id),
86 'lib' : obj.OpenILS.data.hash.aou[ obj.OpenILS.data.list.au[0].ws_ou() ],
87 'staff' : obj.OpenILS.data.list.au[0],
88 'header' : obj.OpenILS.data.print_list_templates.holds.header,
89 'line_item' : obj.OpenILS.data.print_list_templates.holds.line_item,
90 'footer' : obj.OpenILS.data.print_list_templates.holds.footer,
91 'type' : obj.OpenILS.data.print_list_templates.holds.type,
92 'list' : obj.list.dump(),
94 JSAN.use('util.print'); var print = new util.print();
95 print.tree_list( params );
97 this.error.sdump('D_ERROR','preview: ' + E);
98 alert('preview: ' + E);
109 'cmd_holds_cancel' : [
114 'cmd_show_catalog' : [
127 'retrieve' : function() {
129 if (window.xulG && window.xulG.holds) {
130 obj.holds = window.xulG.holds;
132 obj.holds = obj.network.request(
133 api.FM_AHR_RETRIEVE.app,
134 api.FM_AHR_RETRIEVE.method,
135 [ obj.session, obj.patron_id ]
140 function gen_list_append(hold) {
154 JSAN.use('util.exec'); var exec = new util.exec();
156 for (var i in obj.holds) {
157 rows.push( gen_list_append(obj.holds[i]) );
163 dump('exiting patron.holds.js\n');