[open-ils-commits] r14613 - in trunk/Open-ILS: src/sql/Pg src/sql/Pg/upgrade xul/staff_client/server/circ (phasefx)

svn at svn.open-ils.org svn at svn.open-ils.org
Mon Oct 26 22:40:01 EDT 2009


Author: phasefx
Date: 2009-10-26 22:39:59 -0400 (Mon, 26 Oct 2009)
New Revision: 14613

Added:
   trunk/Open-ILS/src/sql/Pg/upgrade/0056.data.org-setting-in-house-use.sql
Modified:
   trunk/Open-ILS/src/sql/Pg/002.schema.config.sql
   trunk/Open-ILS/src/sql/Pg/950.data.seed-values.sql
   trunk/Open-ILS/xul/staff_client/server/circ/in_house_use.js
   trunk/Open-ILS/xul/staff_client/server/circ/in_house_use.xul
Log:
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.



Modified: trunk/Open-ILS/src/sql/Pg/002.schema.config.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/002.schema.config.sql	2009-10-26 21:11:18 UTC (rev 14612)
+++ trunk/Open-ILS/src/sql/Pg/002.schema.config.sql	2009-10-27 02:39:59 UTC (rev 14613)
@@ -51,7 +51,7 @@
     install_date    TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
 );
 
-INSERT INTO config.upgrade_log (version) VALUES ('0055'); -- phasefx
+INSERT INTO config.upgrade_log (version) VALUES ('0056'); -- phasefx
 
 
 CREATE TABLE config.bib_source (

Modified: trunk/Open-ILS/src/sql/Pg/950.data.seed-values.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/950.data.seed-values.sql	2009-10-26 21:11:18 UTC (rev 14612)
+++ trunk/Open-ILS/src/sql/Pg/950.data.seed-values.sql	2009-10-27 02:39:59 UTC (rev 14613)
@@ -1627,6 +1627,16 @@
   'Set this if you would like patron displays in the staff client to be closed after a certain interval of inactivity.  Example ''5 minutes''',
   'interval' ),
 
+( 'ui.circ.in_house_use.entry_cap',
+  'GUI: Record In-House Use: Maximum # of uses allowed per entry.',
+  'The # of uses entry in the Record In-House Use interface may not exceed the value of this setting.',
+  'integer' ),
+
+( 'ui.circ.in_house_use.entry_warn',
+  'GUI: Record In-House Use: # of uses threshold for Are You Sure? dialog.',
+  'In the Record In-House Use interface, a submission attempt will warn if the # of uses field exceeds the value of this setting.',
+  'integer' ),
+
 ( 'acq.default_circ_modifier',
   'Default circulation modifier',
   null,

Added: trunk/Open-ILS/src/sql/Pg/upgrade/0056.data.org-setting-in-house-use.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/upgrade/0056.data.org-setting-in-house-use.sql	                        (rev 0)
+++ trunk/Open-ILS/src/sql/Pg/upgrade/0056.data.org-setting-in-house-use.sql	2009-10-27 02:39:59 UTC (rev 14613)
@@ -0,0 +1,21 @@
+BEGIN;
+
+INSERT INTO config.upgrade_log (version) VALUES ('0056'); -- phasefx
+
+INSERT INTO config.org_unit_setting_type ( name, label, description, datatype )
+    VALUES (
+        'ui.circ.in_house_use.entry_cap',
+        'GUI: Record In-House Use: Maximum # of uses allowed per entry.',
+        'The # of uses entry in the Record In-House Use interface may not exceed the value of this setting.',
+        'integer'
+    );
+
+INSERT INTO config.org_unit_setting_type ( name, label, description, datatype )
+    VALUES (
+        'ui.circ.in_house_use.entry_warn',
+        'GUI: Record In-House Use: # of uses threshold for Are You Sure? dialog.',
+        'In the Record In-House Use interface, a submission attempt will warn if the # of uses field exceeds the value of this setting.',
+        'integer'
+    );
+
+COMMIT;

Modified: trunk/Open-ILS/xul/staff_client/server/circ/in_house_use.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/circ/in_house_use.js	2009-10-26 21:11:18 UTC (rev 14612)
+++ trunk/Open-ILS/xul/staff_client/server/circ/in_house_use.js	2009-10-27 02:39:59 UTC (rev 14613)
@@ -9,6 +9,7 @@
     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 @@
 
         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 @@
                                 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,14 @@
                 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();
+                obj.sound.circ_bad();
                 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 +319,7 @@
                 //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);

Modified: trunk/Open-ILS/xul/staff_client/server/circ/in_house_use.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/circ/in_house_use.xul	2009-10-26 21:11:18 UTC (rev 14612)
+++ trunk/Open-ILS/xul/staff_client/server/circ/in_house_use.xul	2009-10-27 02:39:59 UTC (rev 14613)
@@ -91,7 +91,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" 



More information about the open-ils-commits mailing list