From 6d77e5d64b180f5f78627547418757ecb2d7e4e5 Mon Sep 17 00:00:00 2001 From: Thomas Berezansky Date: Tue, 2 Oct 2012 16:47:42 -0400 Subject: [PATCH 1/1] User Setting Registration Defaults Add a new reg_default value for user setting types. On patron registration the value (if any) is used as a default for the patron. Only applicable to those settings editable via the patron editor. Intended use cases: 1 - Hold Notification Type Default other than phone:email 2 - A/T user settings defaulting to "on" at registration Signed-off-by: Thomas Berezansky Signed-off-by: Jason Etheridge --- Open-ILS/examples/fm_IDL.xml | 1 + Open-ILS/src/sql/Pg/002.schema.config.sql | 1 + Open-ILS/src/sql/Pg/upgrade/XXXX.usr_setting_default.sql | 2 ++ Open-ILS/web/js/ui/default/actor/user/register.js | 8 ++++++++ 4 files changed, 12 insertions(+) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.usr_setting_default.sql diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index cbdd13b5a7..6ea71d48ee 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -3110,6 +3110,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 35c130bb1a..2d44af9159 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -614,6 +614,7 @@ CREATE TABLE config.usr_setting_type ( grp TEXT REFERENCES config.settings_group (name), datatype TEXT NOT NULL DEFAULT 'string', fm_class TEXT, + reg_default TEXT, -- -- define valid datatypes diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.usr_setting_default.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.usr_setting_default.sql new file mode 100644 index 0000000000..e55e1e2f2b --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.usr_setting_default.sql @@ -0,0 +1,2 @@ +ALTER TABLE config.usr_setting_type + ADD COLUMN reg_default TEXT; diff --git a/Open-ILS/web/js/ui/default/actor/user/register.js b/Open-ILS/web/js/ui/default/actor/user/register.js index 58c2c7080a..e70d867e9e 100644 --- a/Open-ILS/web/js/ui/default/actor/user/register.js +++ b/Open-ILS/web/js/ui/default/actor/user/register.js @@ -672,6 +672,14 @@ function uEditFetchUserSettings(userId) { userSettings = fieldmapper.standardRequest( ['open-ils.actor', 'open-ils.actor.patron.settings.retrieve.authoritative'], {params : [openils.User.authtoken, userId, names]}); + } else { + // Defaults! + userSettingTypes.forEach(function(setting, index, array) { + if(setting.reg_default() != undefined) { + userSettings[setting.name()] = setting.reg_default(); + userSettingsToUpdate[setting.name()] = setting.reg_default(); + } + }); } } -- 2.43.2