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.patron_standing_penalty'] ) == 'true';
29 document.getElementById('initials_box').hidden = false;
32 /* set widget behavior */
33 window.new_standing_penalty_event_listeners = new EventListenerList();
34 window.new_standing_penalty_event_listeners.add(document.getElementById('csp_menulist'),
37 document.getElementById('note_btn').checked = false;
38 document.getElementById('alert_btn').checked = false;
39 document.getElementById('block_btn').checked = false;
43 window.new_standing_penalty_event_listeners.add(document.getElementById('note_btn'),
46 document.getElementById('csp_menulist').setAttribute('label','');
47 document.getElementById('csp_menupopup').setAttribute('value','21'); // SILENT_NOTE
51 window.new_standing_penalty_event_listeners.add(document.getElementById('alert_btn'),
54 document.getElementById('csp_menulist').setAttribute('label','');
55 document.getElementById('csp_menupopup').setAttribute('value','20'); // ALERT_NOTE
59 window.new_standing_penalty_event_listeners.add(document.getElementById('block_btn'),
62 document.getElementById('csp_menulist').setAttribute('label','');
63 document.getElementById('csp_menupopup').setAttribute('value','25'); // STAFF_CHR
67 window.new_standing_penalty_event_listeners.add(document.getElementById('cancel_btn'),
68 'command', function() { window.close(); }, false
70 window.new_standing_penalty_event_listeners.add(document.getElementById('apply_btn'),
73 var note = document.getElementById('note_tb').value;
74 if (!document.getElementById('initials_box').hidden) {
75 var initials_tb = document.getElementById('initials_tb');
76 if (initials_tb.value == '') {
77 initials_tb.focus(); return;
79 JSAN.use('util.date');
80 note = note + commonStrings.getFormattedString('staff.initials.format',[initials_tb.value,util.date.formatted_date(new Date(),'%F'), ses('ws_ou_shortname')]);
83 xulG.id = document.getElementById('csp_menupopup').getAttribute('value');
94 var err_prefix = 'standing_penalties.js -> penalty_init() : ';
95 if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
100 function new_penalty_cleanup() {
102 window.new_standing_penalty_event_listeners.removeAll();
104 var err_prefix = 'standing_penalties.js -> penalty_cleanup() : ';
105 if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);
110 function build_penalty_menu() {
113 var csp_menupopup = document.getElementById('csp_menupopup');
114 util.widgets.remove_children(csp_menupopup);
115 for (var i = 0; i < data.list.csp.length; i++) {
116 if (data.list.csp[i].id() > 100) {
117 var menuitem = document.createElement('menuitem'); csp_menupopup.appendChild(menuitem);
118 menuitem.setAttribute('label',data.list.csp[i].label());
119 menuitem.setAttribute('value',data.list.csp[i].id());
120 menuitem.setAttribute('id','csp_'+data.list.csp[i].id());
121 menuitem.setAttribute('oncommand',"var p = this.parentNode; p.parentNode.setAttribute('label',this.getAttribute('label')); p.setAttribute('value'," + data.list.csp[i].id() + ")");
126 var err_prefix = 'new_standing_penalty.js -> build_penalty_menu() : ';
127 if (error) error.standard_unexpected_error_alert(err_prefix,E); else alert(err_prefix + E);