]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/xul/staff_client/server/patron/hold_cancel.js
9bef546223ceae2acadf41c687ff18354d0e29c2
[working/Evergreen.git] / Open-ILS / xul / staff_client / server / patron / hold_cancel.js
1 var data; var error; 
2
3 function default_focus() { document.getElementById('note_tb').focus(); } // parent interfaces often call this
4
5 function hold_cancel_init() {
6     try {
7
8         commonStrings = document.getElementById('commonStrings');
9         patronStrings = document.getElementById('patronStrings');
10
11         if (typeof JSAN == 'undefined') {
12             throw(
13                 commonStrings.getString('common.jsan.missing')
14             );
15         }
16
17         JSAN.errorLevel = "die"; // none, warn, or die
18         JSAN.addRepository('..');
19
20         JSAN.use('OpenILS.data'); data = new OpenILS.data(); data.stash_retrieve();
21
22         JSAN.use('util.error'); error = new util.error();
23         JSAN.use('util.widgets');
24
25         build_cancel_reason_menu();
26
27         /* set widget behavior */
28         document.getElementById('cancel_btn').addEventListener(
29             'command', function() { window.close(); }, false
30         );
31         document.getElementById('apply_btn').addEventListener(
32             'command', 
33             function() {
34                 var note = document.getElementById('note_tb').value;
35                 update_modal_xulG(
36                     {
37                         'cancel_reason' : document.getElementById('ahrcc_menupopup').getAttribute('value'),
38                         'note' : note,
39                         'proceed' : 1
40                     }
41                 )
42                 window.close();
43             }, 
44             false
45         );
46
47         default_focus();
48
49     } catch(E) {
50         var err_prefix = 'hold_cancel.js -> hold_cancel_init() : ';
51         if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
52     }
53
54 }
55
56 function build_cancel_reason_menu() {
57     try {
58
59         var ahrcc_menupopup = document.getElementById('ahrcc_menupopup');
60         util.widgets.remove_children(ahrcc_menupopup);
61         for (var i = 0; i < data.list.ahrcc.length; i++) {
62             //if (data.list.ahrcc[i].id() > 100) {
63                 var menuitem = document.createElement('menuitem'); ahrcc_menupopup.appendChild(menuitem);
64                 menuitem.setAttribute('label',data.list.ahrcc[i].label());
65                 menuitem.setAttribute('value',data.list.ahrcc[i].id());
66                 menuitem.setAttribute('id','ahrcc_'+data.list.ahrcc[i].id());
67                 menuitem.setAttribute('oncommand',"var p = this.parentNode; p.parentNode.setAttribute('label',this.getAttribute('label')); p.setAttribute('value'," + data.list.ahrcc[i].id() + ")");
68                 if (data.list.ahrcc[i].id() == 5) { // default Staff forced
69                     ahrcc_menupopup.setAttribute('value',data.list.ahrcc[i].id());
70                     ahrcc_menupopup.parentNode.setAttribute('label',data.list.ahrcc[i].label());
71                 }
72             //}
73         }
74
75     } catch(E) {
76         var err_prefix = 'hold_cancel.js -> build_cancel_reason_menu() : ';
77         if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
78     }
79 }
80