3 function default_focus() { document.getElementById('note_tb').focus(); } // parent interfaces often call this
5 function edit_penalty_init() {
8 commonStrings = document.getElementById('commonStrings');
9 patronStrings = document.getElementById('patronStrings');
11 if (typeof JSAN == 'undefined') {
13 commonStrings.getString('common.jsan.missing')
17 JSAN.errorLevel = "die"; // none, warn, or die
18 JSAN.addRepository('..');
20 JSAN.use('OpenILS.data'); data = new OpenILS.data(); data.stash_retrieve();
22 JSAN.use('util.error'); error = new util.error();
23 JSAN.use('util.widgets');
27 var show_initials = String( data.hash.aous['ui.staff.require_initials'] ) == 'true';
29 document.getElementById('initials_box').hidden = false;
32 /* set widget values */
33 document.getElementById('note_tb').value = xul_param('note');
34 document.getElementById('csp_menupopup').setAttribute('value',xul_param('id'));
35 if (xul_param('id')==21) { // SILENT_NOTE
36 document.getElementById('note_btn').checked = true;
37 } else if (xul_param('id')==20) { // ALERT_NOTE
38 document.getElementById('alert_btn').checked = true;
39 } else if (xul_param('id')==25) { // STAFF_CHR
40 document.getElementById('block_btn').checked = true;
42 var nl = document.getElementById('csp_menupopup').getElementsByAttribute('value',xul_param('id'));
44 document.getElementById('csp_menulist').setAttribute('label', nl[0].getAttribute('label'));
46 document.getElementById('csp_menulist').setAttribute('label', '???');
50 /* set widget behavior */
51 document.getElementById('csp_menulist').addEventListener(
54 document.getElementById('note_btn').checked = false;
55 document.getElementById('alert_btn').checked = false;
56 document.getElementById('block_btn').checked = false;
60 document.getElementById('note_btn').addEventListener(
63 document.getElementById('csp_menulist').setAttribute('label','');
64 document.getElementById('csp_menupopup').setAttribute('value','21'); // SILENT_NOTE
68 document.getElementById('alert_btn').addEventListener(
71 document.getElementById('csp_menulist').setAttribute('label','');
72 document.getElementById('csp_menupopup').setAttribute('value','20'); // ALERT_NOTE
76 document.getElementById('block_btn').addEventListener(
79 document.getElementById('csp_menulist').setAttribute('label','');
80 document.getElementById('csp_menupopup').setAttribute('value','25'); // STAFF_CHR
84 document.getElementById('cancel_btn').addEventListener(
85 'command', function() { window.close(); }, false
87 document.getElementById('apply_btn').addEventListener(
90 var note = document.getElementById('note_tb').value;
91 if (!document.getElementById('initials_box').hidden) {
92 var initials_tb = document.getElementById('initials_tb');
93 if (initials_tb.value == '') {
94 initials_tb.focus(); return;
96 JSAN.use('util.date');
97 note = note + commonStrings.getFormattedString('staff.initials.format',[initials_tb.value,util.date.formatted_date(new Date(),'%F'), ses('ws_ou_shortname')]);
100 xulG.id = document.getElementById('csp_menupopup').getAttribute('value');
110 var err_prefix = 'standing_penalties.js -> penalty_init() : ';
111 if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
116 function build_penalty_menu() {
119 var csp_menupopup = document.getElementById('csp_menupopup');
120 util.widgets.remove_children(csp_menupopup);
121 for (var i = 0; i < data.list.csp.length; i++) {
122 if (data.list.csp[i].id() > 100) {
123 var menuitem = document.createElement('menuitem'); csp_menupopup.appendChild(menuitem);
124 menuitem.setAttribute('label',data.list.csp[i].label());
125 menuitem.setAttribute('value',data.list.csp[i].id());
126 menuitem.setAttribute('id','csp_'+data.list.csp[i].id());
127 menuitem.setAttribute('oncommand',"var p = this.parentNode; p.parentNode.setAttribute('label',this.getAttribute('label')); p.setAttribute('value'," + data.list.csp[i].id() + ")");
132 var err_prefix = 'edit_standing_penalty.js -> build_penalty_menu() : ';
133 if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);