3 function default_focus() { document.getElementById('note_tb').focus(); } // parent interfaces often call this
5 function new_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 behavior */
33 document.getElementById('csp_menulist').addEventListener(
36 document.getElementById('note_btn').checked = false;
37 document.getElementById('alert_btn').checked = false;
38 document.getElementById('block_btn').checked = false;
42 document.getElementById('note_btn').addEventListener(
45 document.getElementById('csp_menulist').setAttribute('label','');
46 document.getElementById('csp_menupopup').setAttribute('value','21'); // SILENT_NOTE
50 document.getElementById('alert_btn').addEventListener(
53 document.getElementById('csp_menulist').setAttribute('label','');
54 document.getElementById('csp_menupopup').setAttribute('value','20'); // ALERT_NOTE
58 document.getElementById('block_btn').addEventListener(
61 document.getElementById('csp_menulist').setAttribute('label','');
62 document.getElementById('csp_menupopup').setAttribute('value','25'); // STAFF_CHR
66 document.getElementById('cancel_btn').addEventListener(
67 'command', function() { window.close(); }, false
69 document.getElementById('apply_btn').addEventListener(
72 var note = document.getElementById('note_tb').value;
73 if (!document.getElementById('initials_box').hidden) {
74 var initials_tb = document.getElementById('initials_tb');
75 if (initials_tb.value == '') {
76 initials_tb.focus(); return;
78 JSAN.use('util.date');
79 note = note + commonStrings.getFormattedString('staff.initials.format',[initials_tb.value,util.date.formatted_date(new Date(),'%F'), ses('ws_ou_shortname')]);
84 'id' : document.getElementById('csp_menupopup').getAttribute('value'),
97 var err_prefix = 'standing_penalties.js -> penalty_init() : ';
98 if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
103 function build_penalty_menu() {
106 var csp_menupopup = document.getElementById('csp_menupopup');
107 util.widgets.remove_children(csp_menupopup);
108 for (var i = 0; i < data.list.csp.length; i++) {
109 if (data.list.csp[i].id() > 100) {
110 var menuitem = document.createElement('menuitem'); csp_menupopup.appendChild(menuitem);
111 menuitem.setAttribute('label',data.list.csp[i].label());
112 menuitem.setAttribute('value',data.list.csp[i].id());
113 menuitem.setAttribute('id','csp_'+data.list.csp[i].id());
114 menuitem.setAttribute('oncommand',"var p = this.parentNode; p.parentNode.setAttribute('label',this.getAttribute('label')); p.setAttribute('value'," + data.list.csp[i].id() + ")");
119 var err_prefix = 'new_standing_penalty.js -> build_penalty_menu() : ';
120 if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);