From: Thomas Berezansky Date: Mon, 2 Apr 2012 15:37:10 +0000 (-0400) Subject: Stamping Stat Cat Enhancements upgrade script X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=585cb6eda514ffa3d335c6bcbd481c682027faee;p=evergreen%2Fequinox.git Stamping Stat Cat Enhancements upgrade script Signed-off-by: Thomas Berezansky --- diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 58d8db7969..34224b1945 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -87,7 +87,7 @@ CREATE TRIGGER no_overlapping_deps BEFORE INSERT OR UPDATE ON config.db_patch_dependencies FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates'); -INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0700', :eg_version); -- senator/dbwells/miker +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0701', :eg_version); -- sprater/bshum/tsbere CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/0701.schema.patron_stat_category_enhancements.sql b/Open-ILS/src/sql/Pg/upgrade/0701.schema.patron_stat_category_enhancements.sql new file mode 100644 index 0000000000..191b84afd3 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/0701.schema.patron_stat_category_enhancements.sql @@ -0,0 +1,62 @@ +-- Evergreen DB patch 0701.schema.patron_stat_category_enhancements.sql +-- +-- Enables users to set patron statistical categories as required, +-- whether or not users can input free text for the category value. +-- Enables administrators to set an entry as the default for any +-- given patron statistical category and org unit. +-- +BEGIN; + +-- check whether patch can be applied +SELECT evergreen.upgrade_deps_block_check('0701', :eg_version); + +-- New table + +CREATE TABLE actor.stat_cat_entry_default ( + id SERIAL PRIMARY KEY, + stat_cat_entry INT NOT NULL REFERENCES actor.stat_cat_entry (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, + stat_cat INT NOT NULL REFERENCES actor.stat_cat (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, + owner INT NOT NULL REFERENCES actor.org_unit (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, + CONSTRAINT sced_once_per_owner UNIQUE (stat_cat,owner) +); + +COMMENT ON TABLE actor.stat_cat_entry_default IS $$ +User Statistical Category Default Entry + +A library may choose one of the stat_cat entries to be the +default entry. +$$; + +-- Add columns to existing tables + +-- Patron stat cat required column +ALTER TABLE actor.stat_cat + ADD COLUMN required BOOL NOT NULL DEFAULT FALSE; + +-- Patron stat cat allow_freetext column +ALTER TABLE actor.stat_cat + ADD COLUMN allow_freetext BOOL NOT NULL DEFAULT TRUE; + +-- Add permissions + +INSERT INTO permission.perm_list ( id, code, description ) VALUES + ( 525, 'CREATE_PATRON_STAT_CAT_ENTRY_DEFAULT', oils_i18n_gettext( 525, + 'User may set a default entry in a patron statistical category', 'ppl', 'description' )), + ( 526, 'UPDATE_PATRON_STAT_CAT_ENTRY_DEFAULT', oils_i18n_gettext( 526, + 'User may reset a default entry in a patron statistical category', 'ppl', 'description' )), + ( 527, 'DELETE_PATRON_STAT_CAT_ENTRY_DEFAULT', oils_i18n_gettext( 527, + 'User may unset a default entry in a patron statistical category', 'ppl', 'description' )); + +INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable) + SELECT + pgt.id, perm.id, aout.depth, TRUE + FROM + permission.grp_tree pgt, + permission.perm_list perm, + actor.org_unit_type aout + WHERE + pgt.name = 'Circulation Administrator' AND + aout.name = 'System' AND + perm.code IN ('CREATE_PATRON_STAT_CAT_ENTRY_DEFAULT', 'DELETE_PATRON_STAT_CAT_ENTRY_DEFAULT'); + +COMMIT; diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.patron_stat_category_enhancements.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.patron_stat_category_enhancements.sql deleted file mode 100644 index 01f28fbcf9..0000000000 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.patron_stat_category_enhancements.sql +++ /dev/null @@ -1,62 +0,0 @@ --- Evergreen DB patch XXXX.schema.patron_stat_category_enhancements.sql --- --- Enables users to set patron statistical categories as required, --- whether or not users can input free text for the category value. --- Enables administrators to set an entry as the default for any --- given patron statistical category and org unit. --- -BEGIN; - --- check whether patch can be applied -SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); - --- New table - -CREATE TABLE actor.stat_cat_entry_default ( - id SERIAL PRIMARY KEY, - stat_cat_entry INT NOT NULL REFERENCES actor.stat_cat_entry (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, - stat_cat INT NOT NULL REFERENCES actor.stat_cat (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, - owner INT NOT NULL REFERENCES actor.org_unit (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, - CONSTRAINT sced_once_per_owner UNIQUE (stat_cat,owner) -); - -COMMENT ON TABLE actor.stat_cat_entry_default IS $$ -User Statistical Category Default Entry - -A library may choose one of the stat_cat entries to be the -default entry. -$$; - --- Add columns to existing tables - --- Patron stat cat required column -ALTER TABLE actor.stat_cat - ADD COLUMN required BOOL NOT NULL DEFAULT FALSE; - --- Patron stat cat allow_freetext column -ALTER TABLE actor.stat_cat - ADD COLUMN allow_freetext BOOL NOT NULL DEFAULT TRUE; - --- Add permissions - -INSERT INTO permission.perm_list ( id, code, description ) VALUES - ( 525, 'CREATE_PATRON_STAT_CAT_ENTRY_DEFAULT', oils_i18n_gettext( 525, - 'User may set a default entry in a patron statistical category', 'ppl', 'description' )), - ( 526, 'UPDATE_PATRON_STAT_CAT_ENTRY_DEFAULT', oils_i18n_gettext( 526, - 'User may reset a default entry in a patron statistical category', 'ppl', 'description' )), - ( 527, 'DELETE_PATRON_STAT_CAT_ENTRY_DEFAULT', oils_i18n_gettext( 527, - 'User may unset a default entry in a patron statistical category', 'ppl', 'description' )); - -INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable) - SELECT - pgt.id, perm.id, aout.depth, TRUE - FROM - permission.grp_tree pgt, - permission.perm_list perm, - actor.org_unit_type aout - WHERE - pgt.name = 'Circulation Administrator' AND - aout.name = 'System' AND - perm.code IN ('CREATE_PATRON_STAT_CAT_ENTRY_DEFAULT', 'DELETE_PATRON_STAT_CAT_ENTRY_DEFAULT'); - -COMMIT;