]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/xul/staff_client/server/patron/holds.js
saving initial user groups
[Evergreen.git] / Open-ILS / xul / staff_client / server / patron / holds.js
1 dump('entering patron.holds.js\n');
2
3 if (typeof patron == 'undefined') patron = {};
4 patron.holds = function (params) {
5
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'});
9 }
10
11 patron.holds.prototype = {
12
13         'init' : function( params ) {
14
15                 var obj = this;
16
17                 obj.session = params['session'];
18                 obj.patron_id = params['patron_id'];
19
20                 JSAN.use('circ.util');
21                 var columns = circ.util.hold_columns( 
22                         { 
23                                 'title' : { 'hidden' : false, 'flex' : '3' },
24                                 'request_time' : { 'hidden' : false },
25                                 'pickup_lib_shortname' : { 'hidden' : false },
26                                 'hold_type' : { 'hidden' : false },
27                                 'capture_time' : { 'hidden' : false },
28                         } 
29                 );
30
31                 JSAN.use('util.list'); obj.list = new util.list('holds_list');
32                 obj.list.init(
33                         {
34                                 'columns' : columns,
35                                 'map_row_to_column' : circ.util.std_map_row_to_column(),
36                                 'retrieve_row' : function(params) {
37                                         var row = params.row;
38                                         try {
39                                                 switch(row.my.ahr.hold_type()) {
40                                                         case 'M' :
41                                                                 row.my.mvr = obj.network.request(
42                                                                         api.mods_slim_metarecord_retrieve.app,
43                                                                         api.mods_slim_metarecord_retrieve.method,
44                                                                         [ row.my.ahr.target() ]
45                                                                 );
46                                                         break;
47                                                         default:
48                                                                 row.my.mvr = obj.network.request(
49                                                                         api.mods_slim_record_retrieve.app,
50                                                                         api.mods_slim_record_retrieve.method,
51                                                                         [ row.my.ahr.target() ]
52                                                                 );
53                                                         break;
54                                                 }
55                                         } catch(E) {
56                                                 obj.error.sdump('D_ERROR','retrieve_row: ' + E );
57                                         }
58                                         return row;
59                                 }
60                         }
61                 );
62                 
63                 JSAN.use('util.controller'); obj.controller = new util.controller();
64                 obj.controller.init(
65                         {
66                                 'control_map' : {
67                                         'cmd_broken' : [
68                                                 ['command'],
69                                                 function() { alert('Not Yet Implemented'); }
70                                         ],
71                                         'cmd_item_print' : [
72                                                 ['command'],
73                                                 function() {
74                                                 }
75                                         ],
76                                         'cmd_item_reprint' : [
77                                                 ['command'],
78                                                 function() {
79                                                 }
80                                         ],
81                                 }
82                         }
83                 );
84
85                 obj.retrieve();
86
87         },
88
89         'retrieve' : function() {
90                 var obj = this;
91                 if (window.xulG && window.xulG.holds) {
92                         obj.holds = window.xulG.holds;
93                 } else {
94                         obj.holds = obj.network.request(
95                                 api.fm_ahr_retrieve.app,
96                                 api.fm_ahr_retrieve.method,
97                                 [ obj.session, obj.patron_id ]
98                         );
99                                 
100                 }
101
102                 function gen_list_append(hold) {
103                         return function() {
104                                 obj.list.append(
105                                         {
106                                                 'row' : {
107                                                         'my' : {
108                                                                 'ahr' : hold,
109                                                         }
110                                                 }
111                                         }
112                                 );
113                         };
114                 }
115
116                 JSAN.use('util.exec'); var exec = new util.exec();
117                 var rows = [];
118                 for (var i in obj.holds) {
119                         rows.push( gen_list_append(obj.holds[i]) );
120                 }
121                 exec.chain( rows );
122         },
123 }
124
125 dump('exiting patron.holds.js\n');