From 909fc44926cdc7581325f0038f3a2ba52df52a38 Mon Sep 17 00:00:00 2001 From: phasefx Date: Tue, 27 Oct 2009 02:57:45 +0000 Subject: [PATCH] backporting changeset 14613: Tweak the Record In-House Use interface so that it has sound, a larger textbox for the '# of uses' field, and org unit settings that control the warning threshold and max allowed value for '# of uses'. Exceeding the cap no longer sets the value to the cap. git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_6@14614 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/opac/locale/en-US/lang.dtd | 4 ++++ .../server/admin/org_unit_settings.xhtml | 10 ++++++++++ .../xul/staff_client/server/circ/in_house_use.js | 21 ++++++++++++++++----- .../xul/staff_client/server/circ/in_house_use.xul | 2 +- 4 files changed, 31 insertions(+), 6 deletions(-) diff --git a/Open-ILS/web/opac/locale/en-US/lang.dtd b/Open-ILS/web/opac/locale/en-US/lang.dtd index b0f565eadc..82f1b933e7 100644 --- a/Open-ILS/web/opac/locale/en-US/lang.dtd +++ b/Open-ILS/web/opac/locale/en-US/lang.dtd @@ -2752,6 +2752,10 @@ + + + + diff --git a/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml b/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml index e3f5c862c3..abfe28261b 100644 --- a/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml +++ b/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml @@ -142,6 +142,16 @@ desc : '&ui.circ.patron_summary.horizontal.desc;', type : 'bool' }, + 'ui.circ.in_house_use.entry_cap' : { + label : '&ui.circ.in_house_use.entry_cap;', + desc : '&ui.circ.in_house_use.entry_cap.desc;', + type : 'integer' + }, + 'ui.circ.in_house_use.entry_warn' : { + label : '&ui.circ.in_house_use.entry_warn;', + desc : '&ui.circ.in_house_use.entry_warn.desc;', + type : 'integer' + }, 'ui.general.button_bar' : { label : '&ui.general.button_bar;', desc : '&ui.general.button_bar.desc;', diff --git a/Open-ILS/xul/staff_client/server/circ/in_house_use.js b/Open-ILS/xul/staff_client/server/circ/in_house_use.js index 919c105607..343250e00c 100644 --- a/Open-ILS/xul/staff_client/server/circ/in_house_use.js +++ b/Open-ILS/xul/staff_client/server/circ/in_house_use.js @@ -9,6 +9,7 @@ circ.in_house_use = function (params) { JSAN.use('util.barcode'); JSAN.use('util.date'); JSAN.use('OpenILS.data'); this.data = new OpenILS.data(); this.data.init({'via':'stash'}); + JSAN.use('util.sound'); this.sound = new util.sound(); } circ.in_house_use.prototype = { @@ -17,6 +18,9 @@ circ.in_house_use.prototype = { var obj = this; + obj.entry_cap = Number( obj.data.hash.aous['ui.circ.in_house_use.entry_cap'] ) || 99; + obj.entry_warn = Number( obj.data.hash.aous['ui.circ.in_house_use.entry_warn'] ) || 20; + JSAN.use('circ.util'); var columns = circ.util.columns( { @@ -135,13 +139,19 @@ circ.in_house_use.prototype = { try { var value = Number(ev.target.value); if (value > 0) { - if (value > 99) ev.target.value = 99; + if (value > obj.entry_cap) { throw(value); } } else { - ev.target.value = 1; + throw(value); } } catch(E) { dump('in_house_use:multiplier: ' + E + '\n'); - ev.target.value = 1; + obj.sound.circ_bad(); + setTimeout( + function() { + obj.controller.view.in_house_use_multiplier_textbox.focus(); + obj.controller.view.in_house_use_multiplier_textbox.select(); + }, 0 + ); } } } @@ -230,13 +240,13 @@ circ.in_house_use.prototype = { return; } - if (multiplier == 0 || multiplier > 99) { + if (multiplier == 0 || multiplier > obj.entry_cap) { obj.controller.view.in_house_use_multiplier_textbox.focus(); obj.controller.view.in_house_use_multiplier_textbox.select(); return; } - if (multiplier > 20) { + if (multiplier > obj.entry_warn) { var r = obj.error.yns_alert( document.getElementById('circStrings').getFormattedString('staff.circ.in_house_use.confirm_multiple', [barcode, multiplier]), document.getElementById('circStrings').getString('staff.circ.in_house_use.confirm_multiple.title'), @@ -308,6 +318,7 @@ circ.in_house_use.prototype = { //I could override map_row_to_column here } ); + obj.sound.circ_good(); if (typeof obj.on_in_house_use == 'function') { obj.on_in_house_use(result); diff --git a/Open-ILS/xul/staff_client/server/circ/in_house_use.xul b/Open-ILS/xul/staff_client/server/circ/in_house_use.xul index 63cdd63c0c..1eb00db8c5 100644 --- a/Open-ILS/xul/staff_client/server/circ/in_house_use.xul +++ b/Open-ILS/xul/staff_client/server/circ/in_house_use.xul @@ -92,7 +92,7 @@