Add granular settings for requiring staff initials for notes user/bshum/staff-initials-granular-settings
authorBen Shum <bshum@biblio.org>
Tue, 28 May 2013 18:54:27 +0000 (14:54 -0400)
committerBen Shum <bshum@biblio.org>
Tue, 28 May 2013 19:10:08 +0000 (15:10 -0400)
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>
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

index a8ddf6a..c41c1b7 100644 (file)
@@ -4602,12 +4602,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..fe7e824
--- /dev/null
@@ -0,0 +1,70 @@
+-- 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'
+    );
+
+-- Optional: Do we update existing settings to match original behavior?
+
+-- Optional: Do we delete old setting for requiring staff initials?
+-- 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;
         }