Add granular settings for requiring staff initials for notes
authorBen Shum <bshum@biblio.org>
Tue, 28 May 2013 18:54:27 +0000 (14:54 -0400)
committerMike Rylander <mrylander@gmail.com>
Tue, 18 Feb 2014 17:45:59 +0000 (12:45 -0500)
Up till now, there has only been one setting for making staff initials required
for all of the various note fields. Instead, let's break this up into separate
org unit settings for each type of note field, giving us more flexiblity in
making use of the append staff initials feature.

These three types of notes will now have settings to add initials for each:

- patron penalties/messages
- patron information notes
- copy (item) notes

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.data.staff-initials-settings.sql [new file with mode: 0644]
Open-ILS/xul/staff_client/server/cat/copy_notes.xul
Open-ILS/xul/staff_client/server/patron/edit_standing_penalty.js
Open-ILS/xul/staff_client/server/patron/info_notes.xul
Open-ILS/xul/staff_client/server/patron/new_standing_penalty.js
docs/RELEASE_NOTES_NEXT/Administration/staff-initials.txt [new file with mode: 0644]

index 3ea7b94..2cfc7f8 100644 (file)
@@ -4779,12 +4779,30 @@ INSERT into config.org_unit_setting_type
         'coust', 'description'),
     'integer', null)
 
-,( 'ui.staff.require_initials', 'gui',
-    oils_i18n_gettext('ui.staff.require_initials',
-        'Require staff initials for entry/edit of item/patron/penalty notes/messages.',
+,( 'ui.staff.require_initials.patron_standing_penalty', 'gui',
+    oils_i18n_gettext('ui.staff.require_initials.patron_standing_penalty',
+        'Require staff initials for entry/edit of patron standing penalties and messages.',
         'coust', 'label'),
-    oils_i18n_gettext('ui.staff.require_initials',
-        'Appends staff initials and edit date into note content.',
+    oils_i18n_gettext('ui.staff.require_initials.patron_standing_penalty',
+        'Appends staff initials and edit date into patron standing penalties and messages.',
+        'coust', 'description'),
+    'bool', null)
+
+,( 'ui.staff.require_initials.patron_info_notes', 'gui',
+    oils_i18n_gettext('ui.staff.require_initials.patron_info_notes',
+        'Require staff initials for entry/edit of patron notes.',
+        'coust', 'label'),
+    oils_i18n_gettext('ui.staff.require_initials.patron_info_notes',
+        'Appends staff initials and edit date into patron note content.',
+        'coust', 'description'),
+    'bool', null)
+
+,( 'ui.staff.require_initials.copy_notes', 'gui',
+    oils_i18n_gettext('ui.staff.require_initials.copy_notes',
+        'Require staff initials for entry/edit of copy notes.',
+        'coust', 'label'),
+    oils_i18n_gettext('ui.staff.require_initials.copy_notes',
+        'Appends staff initials and edit date into copy note content.',
         'coust', 'description'),
     'bool', null)
 
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.staff-initials-settings.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.staff-initials-settings.sql
new file mode 100644 (file)
index 0000000..e38e75c
--- /dev/null
@@ -0,0 +1,94 @@
+-- Evergreen DB patch XXXX.data.staff-initials-settings.sql
+--
+-- More granular configuration settings for requiring use of staff initials
+--
+BEGIN;
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+-- add new granular settings for requiring use of staff initials
+INSERT INTO config.org_unit_setting_type
+    (name, grp, label, description, datatype)
+    VALUES (
+        'ui.staff.require_initials.patron_standing_penalty',
+        'gui',
+        oils_i18n_gettext(
+            'ui.staff.require_initials.patron_standing_penalty',
+            'Require staff initials for entry/edit of patron standing penalties and messages.',
+            'coust',
+            'label'
+        ),
+        oils_i18n_gettext(
+            'ui.staff.require_initials.patron_standing_penalty',
+            'Appends staff initials and edit date into patron standing penalties and messages.',
+            'coust',
+            'description'
+        ),
+        'bool'
+    ), (
+        'ui.staff.require_initials.patron_info_notes',
+        'gui',
+        oils_i18n_gettext(
+            'ui.staff.require_initials.patron_info_notes',
+            'Require staff initials for entry/edit of patron notes.',
+            'coust',
+            'label'
+        ),
+        oils_i18n_gettext(
+            'ui.staff.require_initials.patron_info_notes',
+            'Appends staff initials and edit date into patron note content.',
+            'coust',
+            'description'
+        ),
+        'bool'
+    ), (
+        'ui.staff.require_initials.copy_notes',
+        'gui',
+        oils_i18n_gettext(
+            'ui.staff.require_initials.copy_notes',
+            'Require staff initials for entry/edit of copy notes.',
+            'coust',
+            'label'
+        ),
+        oils_i18n_gettext(
+            'ui.staff.require_initials.copy_notes',
+            'Appends staff initials and edit date into copy note content..',
+            'coust',
+            'description'
+        ),
+        'bool'
+    );
+
+-- Update any existing setting so that the original set value is now passed to
+-- one of the newer settings.
+
+UPDATE actor.org_unit_setting
+SET name = 'ui.staff.require_initials.patron_standing_penalty'
+WHERE name = 'ui.staff.require_initials';
+
+-- Add similar values for new settings as old ones to preserve existing configured
+-- functionality.
+
+INSERT INTO actor.org_unit_setting (org_unit, name, value)
+SELECT org_unit, 'ui.staff.require_initials.patron_info_notes', value
+FROM actor.org_unit_setting
+WHERE name = 'ui.staff.require_initials.patron_standing_penalty';
+
+INSERT INTO actor.org_unit_setting (org_unit, name, value)
+SELECT org_unit, 'ui.staff.require_initials.copy_notes', value
+FROM actor.org_unit_setting
+WHERE name = 'ui.staff.require_initials.patron_standing_penalty';
+
+-- Update setting logs so that the original setting name's history is now transferred
+-- over to one of the newer settings.
+
+UPDATE config.org_unit_setting_type_log
+SET field_name = 'ui.staff.require_initials.patron_standing_penalty'
+WHERE field_name = 'ui.staff.require_initials';
+
+-- Remove the old setting entirely
+
+DELETE FROM config.org_unit_setting_type WHERE name = 'ui.staff.require_initials';
+
+COMMIT;
index a71f436..223a069 100644 (file)
                             <row><label value="' + $('catStrings').getString('staff.cat.copy_notes.new_note.public') + '"/><checkbox id="pub" name="fancy_data" checked="false"/></row> \
                             <row><label value="' + $('catStrings').getString('staff.cat.copy_notes.new_note.title') + '"/><textbox id="title" name="fancy_data" context="clipboard"/></row> \
                             <row><label value="' + $('catStrings').getString('staff.cat.copy_notes.new_note.note') + '"/><textbox multiline="true" id="note" name="fancy_data" context="clipboard"/></row>';
-                var show_initials = String( g.data.hash.aous['ui.staff.require_initials'] ) == 'true';
+                var show_initials = String( g.data.hash.aous['ui.staff.require_initials.copy_notes'] ) == 'true';
                 if (show_initials) {
                     xml += '<row><label value="'+$("catStrings").getString('staff.cat.copy_notes.new_note.initials')+'"/><textbox id="initials" name="fancy_required_data" context="clipboard"/></row>';
                 }
index 0ae197b..ddb426e 100644 (file)
@@ -24,7 +24,7 @@ function edit_penalty_init() {
 
         build_penalty_menu();
 
-        var show_initials = String( data.hash.aous['ui.staff.require_initials'] ) == 'true';
+        var show_initials = String( data.hash.aous['ui.staff.require_initials.patron_standing_penalty'] ) == 'true';
         if (show_initials) {
             document.getElementById('initials_box').hidden = false;
         }
index ab45e78..d0be818 100644 (file)
                 xml += '<label value="'+$("patronStrings").getString('staff.patron.info_notes.new_note.patron_visible.value')+'"/><checkbox id="pub" name="fancy_data"/></row>';
                 xml += '<row><label value="'+$("patronStrings").getString('staff.patron.info_notes.new_note.title.value')+'"/><textbox id="title" name="fancy_data" context="clipboard"/></row>';
                 xml += '<row><label value="'+$("patronStrings").getString('staff.patron.info_notes.new_note.note.value')+'"/><textbox multiline="true" id="note" name="fancy_data" context="clipboard"/></row>';
-                var show_initials = String( g.data.hash.aous['ui.staff.require_initials'] ) == 'true';
+                var show_initials = String( g.data.hash.aous['ui.staff.require_initials.patron_info_notes'] ) == 'true';
                 if (show_initials) {
                     xml += '<row><label value="'+$("patronStrings").getString('staff.patron.info_notes.new_note.initials.value')+'"/><textbox id="initials" name="fancy_required_data" context="clipboard"/></row>';
                 }
index 73c40cb..2c0139c 100644 (file)
@@ -24,7 +24,7 @@ function new_penalty_init() {
 
         build_penalty_menu();
 
-        var show_initials = String( data.hash.aous['ui.staff.require_initials'] ) == 'true';
+        var show_initials = String( data.hash.aous['ui.staff.require_initials.patron_standing_penalty'] ) == 'true';
         if (show_initials) {
             document.getElementById('initials_box').hidden = false;
         }
diff --git a/docs/RELEASE_NOTES_NEXT/Administration/staff-initials.txt b/docs/RELEASE_NOTES_NEXT/Administration/staff-initials.txt
new file mode 100644 (file)
index 0000000..b0ae98b
--- /dev/null
@@ -0,0 +1,18 @@
+Add granular settings for requiring staff initials for notes
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+There are now three separate library settings for controlling whether staff 
+are required to input their initials when creating different types of notes.
+See new library settings below.
+
+Any pre-existing library setting for requiring staff initials are preserved 
+during the upgrade process. After upgrading, you may choose to change the set
+behavior for any of the three new settings.
+
+New Library Settings
++++++++++++++++++++++
+
+ * Require staff initials for entry/edit of patron standing penalties and messages. (ui.staff.require_initials.patron_standing_penalty)
+ * Require staff initials for entry/edit of patron notes. (ui.staff.require_initials.patron_info_notes)
+ * Require staff initials for entry/edit of copy notes. (ui.staff.require_initials.copy_notes)
+