backporting changeset 14613: Tweak the Record In-House Use interface so that it has...
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 27 Oct 2009 02:58:41 +0000 (02:58 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 27 Oct 2009 02:58:41 +0000 (02:58 +0000)
Exceeding the cap no longer sets the value to the cap.

git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_6_0@14616 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/opac/locale/en-US/lang.dtd
Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml
Open-ILS/xul/staff_client/server/circ/in_house_use.js
Open-ILS/xul/staff_client/server/circ/in_house_use.xul

index b0f565e..82f1b93 100644 (file)
 <!ENTITY staff.portal.default.welcome "This is the Evergreen staff client portal page. You can customize this with the information or functionality your organization needs to support its operations. For example, you could add links to process and procedure documents.">
 <!ENTITY ui.circ.patron_summary.horizontal "GUI: Alternative Horizontal Patron Summary Panel">
 <!ENTITY ui.circ.patron_summary.horizontal.desc "This replaces the vertical Patron Summary Sidebar.">
+<!ENTITY ui.circ.in_house_use.entry_cap "GUI: Record In-House Use: Maximum # of uses allowed per entry.">
+<!ENTITY ui.circ.in_house_use.entry_cap.desc "The # of uses entry in the Record In-House Use interface may not exceed the value of this setting.">
+<!ENTITY ui.circ.in_house_use.entry_warn "GUI: Record In-House Use: # of uses threshold for Are You Sure? dialog.">
+<!ENTITY ui.circ.in_house_use.entry_warn.desc "In the Record In-House Use interface, a submission attempt will warn if the # of uses field exceeds the value of this setting.">
 <!ENTITY ui.general.button_bar "GUI: Above-Tab Button Bar">
 <!ENTITY ui.general.button_bar.desc "This enables a row of buttons and/or icons between the top-level menu system and the tabbed interfaces.">
 <!ENTITY ui.network.progress_meter "GUI: Network Activity Meter">
index e3f5c86..abfe282 100644 (file)
                     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;',
index 919c105..343250e 100644 (file)
@@ -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);
index 63cdd63..1eb00db 100644 (file)
@@ -92,7 +92,7 @@
 
        <hbox id="in_house_use_top_ui">
                <label id="in_house_use_multiplier_label" value="&staff.circ.in_house_use.multiplier.label;" control="in_house_use_multiplier_textbox" accesskey="&staff.circ.in_house_use.multiplier.accesskey;" hidden="false"/>
-               <textbox id="in_house_use_multiplier_textbox" value="1" hidden="false" size="2" cols="2" context="clipboard"/>
+               <textbox id="in_house_use_multiplier_textbox" value="1" hidden="false" size="6" cols="6" context="clipboard"/>
                <hbox id="in_house_use_menu_placeholder" flex="0"/>
                <textbox id="in_house_use_barcode_entry_textbox" context="clipboard"/>
                <button id="in_house_use_submit_barcode_button"