From 4583dd596b9fee642049ba4206bd44a5428f71b3 Mon Sep 17 00:00:00 2001 From: Ben Shum Date: Tue, 28 May 2013 14:54:27 -0400 Subject: [PATCH] Add granular settings for requiring staff initials for notes 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 Signed-off-by: Mike Rylander --- Open-ILS/src/sql/Pg/950.data.seed-values.sql | 28 +++++- .../XXXX.data.staff-initials-settings.sql | 94 +++++++++++++++++++ .../staff_client/server/cat/copy_notes.xul | 2 +- .../server/patron/edit_standing_penalty.js | 2 +- .../staff_client/server/patron/info_notes.xul | 2 +- .../server/patron/new_standing_penalty.js | 2 +- .../Administration/staff-initials.txt | 18 ++++ 7 files changed, 139 insertions(+), 9 deletions(-) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.data.staff-initials-settings.sql create mode 100644 docs/RELEASE_NOTES_NEXT/Administration/staff-initials.txt diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index 3ea7b94f70..2cfc7f8e46 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -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 index 0000000000..e38e75cdeb --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.staff-initials-settings.sql @@ -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; diff --git a/Open-ILS/xul/staff_client/server/cat/copy_notes.xul b/Open-ILS/xul/staff_client/server/cat/copy_notes.xul index a71f436b40..223a0692a7 100644 --- a/Open-ILS/xul/staff_client/server/cat/copy_notes.xul +++ b/Open-ILS/xul/staff_client/server/cat/copy_notes.xul @@ -161,7 +161,7 @@ \ \ '; - 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 += ''; } diff --git a/Open-ILS/xul/staff_client/server/patron/edit_standing_penalty.js b/Open-ILS/xul/staff_client/server/patron/edit_standing_penalty.js index 0ae197b06d..ddb426e0b0 100644 --- a/Open-ILS/xul/staff_client/server/patron/edit_standing_penalty.js +++ b/Open-ILS/xul/staff_client/server/patron/edit_standing_penalty.js @@ -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; } diff --git a/Open-ILS/xul/staff_client/server/patron/info_notes.xul b/Open-ILS/xul/staff_client/server/patron/info_notes.xul index ab45e78afa..d0be818081 100644 --- a/Open-ILS/xul/staff_client/server/patron/info_notes.xul +++ b/Open-ILS/xul/staff_client/server/patron/info_notes.xul @@ -203,7 +203,7 @@ xml += '