]> git.evergreen-ils.org Git - Evergreen.git/blob - Evergreen/staff_client/chrome/content/evergreen/patron/patron_holds.js
first cut and bill details
[Evergreen.git] / Evergreen / staff_client / chrome / content / evergreen / patron / patron_holds.js
1 sdump('D_TRACE','Loading patron_holds.js\n');
2
3 function patron_holds_init(p) {
4         sdump('D_PATRON_HOLDS',"TESTING: patron_holds.js: " + mw.G['main_test_variable'] + '\n');
5         sdump('D_CONSTRUCTOR',arg_dump(arguments));
6
7         p.patron_holds_cols = hold_cols();
8
9         p.paged_tree = paged_tree_init( { 'w' : p.w, 'node' : p.node, 'cols' : p.patron_holds_cols, 'hide_nav' : true, 'hits_per_page' : '9999', 'debug' : p.app } );
10         p.add_patron_holds = p.paged_tree.add_rows;
11         p.clear_patron_holds = p.paged_tree.clear_tree;
12
13         p.register_patron_holds_select_callback = function (f) {
14                 sdump('D_PATRON_HOLDS','p.register_patron_holds_select_callback(' + f + ')\n');
15                 p.paged_tree.register_select_callback( f );
16         }
17
18         p.register_flesh_patron_holds_function = function (f) {
19                 sdump('D_PATRON_HOLDS','p.register_flesh_patron_holds_function(' + f + ')\n');
20                 p.paged_tree.register_flesh_row_function( f );
21         }
22
23         p.register_item_context_builder = function (f) {
24                 sdump('D_PATRON_HOLDS','p.register_context_builder(' + f + ')\n');
25                 p.paged_tree.register_context_builder( f );
26         }
27
28         p.map_patron_holds_to_cols = function (patron_holds, treeitem) {
29                 sdump('D_PATRON_HOLDS','p.map_patron_holds_to_cols( ' + patron_holds + ',' + treeitem + ')\n');
30                 patron_holds_tree_map_patron_holds_to_cols(p, patron_holds, treeitem);  
31         }
32
33         sdump('D_TRACE_EXIT',arg_dump(arguments));
34         return p;
35 }
36
37 function patron_holds_tree_map_patron_holds_to_cols(p, patron_hold, treeitem) {
38         sdump('D_PATRON_HOLDS',arg_dump(arguments,{1:true}));
39         sdump('D_TRACE_ENTER',arg_dump(arguments));
40
41         var app; var method;
42         switch(patron_hold.hold_type()) {
43                 case 'M': app = 'open-ils.search'; method = 'open-ils.search.biblio.metarecord.mods_slim.retrieve'; break;
44                 default : app = 'open-ils.search'; method = 'open-ils.search.biblio.record.mods_slim.retrieve'; break;
45         }
46
47         user_request(
48                 app,
49                 method,
50                 [ patron_hold.target() ],
51                 function (request) {                    
52                         var mvr = request.getResultObject();
53                         var cols = new Array();
54                         for (var i = 0; i < p.patron_holds_cols.length; i++) {
55                                 var hash = p.patron_holds_cols[i];
56                                 sdump('D_PATRON_HOLDS','Considering ' + js2JSON(hash) + '\n');
57                                 var obj_string = 'patron_hold';
58                                 switch( hash.fm_class ) {
59                                         case 'mvr' : obj_string = 'mvr'; break;
60                                 }
61                                 var cmd = parse_render_string( obj_string, hash.fm_field_render );
62                                 sdump('D_PATRON_HOLDS','cmd = ' + cmd + '\n');
63                                 var col = '';
64                                 try {
65                                         col = eval( cmd );
66                                         sdump('D_PATRON_HOLDS','eval = ' + col + '\n');
67                                 } catch(E) {
68                                         sdump('D_ERROR',js2JSON(E) + '\n');
69                                 }
70                                 cols.push( col );
71                         }
72                         sdump('D_PATRON_HOLDS','cols = ' + js2JSON(cols) + '\n');
73                         p.paged_tree.map_cols_to_treeitem( cols, treeitem );
74                 }
75         );
76         sdump('D_TRACE_EXIT',arg_dump(arguments));
77 }