Updating pending addr tables to track requesting user and address county.
Adding org settings:
* opac.allow_pending_user -- allow self-registration
* opac.pending_user_expire_interval - delete pending user interval
* ui.patron.edit.aua.county.require - indicate if county is required
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
<field reporter:label="Home Library" name="home_ou" reporter:datatype="int"/>
<field reporter:label="Date of Birth" name="dob" reporter:datatype="text"/>
<field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
+ <field reporter:label="Requesting User" name="requesting_usr" reporter:datatype="link"/>
</fields>
+ <links>
+ <link field="requesting_usr" reltype="has_a" key="id" map="" class="au"/>
+ </links>
</class>
<class id="stgc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="staging::card_stage" oils_persist:tablename="staging.card_stage" reporter:label="Card Stage">
<field reporter:label="Street (1)" name="street1" reporter:datatype="text"/>
<field reporter:label="Street (2)" name="street2" reporter:datatype="text"/>
<field reporter:label="City" name="city" reporter:datatype="text"/>
+ <field reporter:label="County" name="county" reporter:datatype="text"/>
<field reporter:label="State" name="state" reporter:datatype="text"/>
<field reporter:label="Country" name="country" reporter:datatype="text"/>
<field reporter:label="Postal Code" name="post_code" reporter:datatype="text"/>
<field reporter:label="Street (1)" name="street1" reporter:datatype="text"/>
<field reporter:label="Street (2)" name="street2" reporter:datatype="text"/>
<field reporter:label="City" name="city" reporter:datatype="text"/>
+ <field reporter:label="County" name="county" reporter:datatype="text"/>
<field reporter:label="State" name="state" reporter:datatype="text"/>
<field reporter:label="Country" name="country" reporter:datatype="text"/>
<field reporter:label="Postal Code" name="post_code" reporter:datatype="text"/>
CREATE TABLE staging.user_stage (
row_id BIGSERIAL PRIMARY KEY,
- row_date TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
+ row_date TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
usrname TEXT NOT NULL,
profile TEXT,
email TEXT,
evening_phone TEXT,
home_ou INT DEFAULT 2,
dob TEXT,
- complete BOOL DEFAULT FALSE
+ complete BOOL DEFAULT FALSE,
+ requesting_usr INT REFERENCES actor.usr(id) ON DELETE SET NULL
);
CREATE TABLE staging.card_stage ( -- for new library barcodes
CREATE TABLE staging.mailing_address_stage (
row_id BIGSERIAL PRIMARY KEY,
- row_date TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
+ row_date TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
usrname TEXT NOT NULL, -- user's SIS barcode, for linking
street1 TEXT,
street2 TEXT,
city TEXT NOT NULL DEFAULT '',
- state TEXT NOT NULL DEFAULT 'OK',
+ county TEXT,
+ state TEXT,
country TEXT NOT NULL DEFAULT 'US',
post_code TEXT NOT NULL,
complete BOOL DEFAULT FALSE
(50, 'circ_lib.billing_address'),
(50, 'target_copy.location');
+-- OUS's for patron self-reg
+INSERT INTO config.org_unit_setting_type
+ (name, grp, datatype, label, description)
+VALUES (
+ 'opac.allow_pending_user',
+ 'opac',
+ 'bool',
+ oils_i18n_gettext(
+ 'opac.allow_pending_user',
+ 'Allow Patron Self-Registration',
+ 'coust',
+ 'label'
+ ),
+ oils_i18n_gettext(
+ 'opac.allow_pending_user',
+ 'Allow patrons to self-register, creating pending user accounts',
+ 'coust',
+ 'description'
+ )
+), (
+ 'opac.pending_user_expire_interval',
+ 'opac',
+ 'interval',
+ oils_i18n_gettext(
+ 'opac.pending_user_expire_interval',
+ 'Patron Self-Reg. Expire Interval',
+ 'coust',
+ 'label'
+ ),
+ oils_i18n_gettext(
+ 'opac.pending_user_expire_interval',
+ 'If set, this is the amount of time a pending user account will ' ||
+ 'be allowed to sit in the database. After this time, the pending ' ||
+ 'user information will be purged',
+ 'coust',
+ 'description'
+ )
+), (
+ 'ui.patron.edit.aua.county.show',
+ 'gui',
+ 'bool',
+ oils_i18n_gettext(
+ 'ui.patron.edit.aua.county.require',
+ 'Show count field on patron registration',
+ 'coust',
+ 'label'
+ ),
+ oils_i18n_gettext(
+ 'ui.patron.edit.aua.county.require',
+ 'The county field will be shown on the patron registration screen',
+ 'coust',
+ 'description'
+ )
+);
--- /dev/null
+
+BEGIN;
+
+-- Track the requesting user
+ALTER TABLE staging.user_stage
+ ADD COLUMN requesting_usr INTEGER
+ REFERENCES actor.usr(id) ON DELETE SET NULL;
+
+-- add county column to staged address tables and
+-- drop state requirement to match actor.usr_address
+ALTER TABLE staging.mailing_address_stage
+ ADD COLUMN county TEXT,
+ ALTER COLUMN state DROP DEFAULT,
+ ALTER COLUMN state DROP NOT NULL;
+
+ALTER TABLE staging.billing_address_stage
+ ADD COLUMN county TEXT,
+ ALTER COLUMN state DROP DEFAULT,
+ ALTER COLUMN state DROP NOT NULL;
+
+INSERT INTO config.org_unit_setting_type
+ (name, grp, datatype, label, description)
+VALUES (
+ 'opac.allow_pending_user',
+ 'opac',
+ 'bool',
+ oils_i18n_gettext(
+ 'opac.allow_pending_user',
+ 'Allow Patron Self-Registration',
+ 'coust',
+ 'label'
+ ),
+ oils_i18n_gettext(
+ 'opac.allow_pending_user',
+ 'Allow patrons to self-register, creating pending user accounts',
+ 'coust',
+ 'description'
+ )
+), (
+ 'opac.pending_user_expire_interval',
+ 'opac',
+ 'interval',
+ oils_i18n_gettext(
+ 'opac.pending_user_expire_interval',
+ 'Patron Self-Reg. Expire Interval',
+ 'coust',
+ 'label'
+ ),
+ oils_i18n_gettext(
+ 'opac.pending_user_expire_interval',
+ 'If set, this is the amount of time a pending user account will ' ||
+ 'be allowed to sit in the database. After this time, the pending ' ||
+ 'user information will be purged',
+ 'coust',
+ 'description'
+ )
+), (
+ 'ui.patron.edit.aua.county.show',
+ 'gui',
+ 'bool',
+ oils_i18n_gettext(
+ 'ui.patron.edit.aua.county.require',
+ 'Show count field on patron registration',
+ 'coust',
+ 'label'
+ ),
+ oils_i18n_gettext(
+ 'ui.patron.edit.aua.county.require',
+ 'The county field will be shown on the patron registration screen',
+ 'coust',
+ 'description'
+ )
+);
+
+COMMIT;