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 <tsbere@mvlc.org>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
<field name="fm_class" reporter:label="Fielmapper Class" reporter:datatype="text"/>
<field name="grp" reporter:label="Settings Group" reporter:datatype="link"/>
<field name="opac_visible" reporter:label="OPAC/Patron Visible" reporter:datatype="bool"/>
+ <field name="reg_default" reporter:label="Registration Default" reporter:datatype="text"/>
</fields>
<links>
<link field="name" reltype="has_many" key="name" map="" class="aus"/>
grp TEXT REFERENCES config.settings_group (name),
datatype TEXT NOT NULL DEFAULT 'string',
fm_class TEXT,
+ reg_default TEXT,
--
-- define valid datatypes
--- /dev/null
+ALTER TABLE config.usr_setting_type
+ ADD COLUMN reg_default TEXT;
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();
+ }
+ });
}
}