From 161003cd25cb12108559956e13a532b2da92e70e Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Tue, 9 May 2017 14:53:18 -0400 Subject: [PATCH] webstaff: new table to store shared prediction pattern codes serial.pattern_template is a new table for establishing a shared list of predication pattern codes. Pattern templates have an OU owner and share depth; CUD has a new ADMIN_SERIAL_PATTERN_TEMPLATE permission. The share depth is meant to be advisory, so there's no pcrud permission tied to retrieving serial.pattern_template rows. Signed-off-by: Galen Charlton --- Open-ILS/examples/fm_IDL.xml | 19 ++++++++++++++++++ Open-ILS/src/sql/Pg/950.data.seed-values.sql | 5 ++++- .../XXXX.schema.serial_pattern_templates.sql | 14 +++++++++++++ .../src/sql/Pg/upgrade/YYYY.data.spt_perms.sql | 23 ++++++++++++++++++++++ 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.serial_pattern_templates.sql create mode 100644 Open-ILS/src/sql/Pg/upgrade/YYYY.data.spt_perms.sql diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 8f358581be..27dbe1e61d 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -5397,6 +5397,25 @@ SELECT usr, + + + + + + + + + + + + + + + + + + + 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 2aa29c30e1..96fe005b24 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -1677,7 +1677,9 @@ INSERT INTO permission.perm_list ( id, code, description ) VALUES ( 588, 'ITEM_NOT_HOLDABLE.override', oils_i18n_gettext( 588, 'Override the ITEM_NOT_HOLDABLE event', 'ppl', 'description' )), ( 589, 'ITEM_RENTAL_FEE_REQUIRED.override', oils_i18n_gettext( 589, - 'Override the ITEM_RENTAL_FEE_REQUIRED event', 'ppl', 'description' )) + 'Override the ITEM_RENTAL_FEE_REQUIRED event', 'ppl', 'description' )), + ( 590, 'ADMIN_SERIAL_PATTERN_TEMPLATE', oils_i18n_gettext( 590, + 'Administer serial prediction pattern templates', 'ppl', 'description' )) ; SELECT SETVAL('permission.perm_list_id_seq'::TEXT, 1000); @@ -2487,6 +2489,7 @@ INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable) 'ADMIN_SERIAL_CAPTION_PATTERN', 'ADMIN_SERIAL_DISTRIBUTION', 'ADMIN_SERIAL_ITEM', + 'ADMIN_SERIAL_PATTERN_TEMPLATE', 'ADMIN_SERIAL_STREAM', 'ADMIN_SERIAL_SUBSCRIPTION', 'ISSUANCE_HOLDS', diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.serial_pattern_templates.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.serial_pattern_templates.sql new file mode 100644 index 0000000000..3a8ed1a295 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.serial_pattern_templates.sql @@ -0,0 +1,14 @@ +BEGIN; + +-- SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); + +CREATE TABLE serial.pattern_template ( + id SERIAL PRIMARY KEY, + name TEXT NOT NULL, + pattern_code TEXT NOT NULL, + owning_lib INTEGER REFERENCES actor.org_unit(id) DEFERRABLE INITIALLY DEFERRED, + share_depth INTEGER NOT NULL DEFAULT 0 +); +CREATE INDEX serial_pattern_template_name_idx ON serial.pattern_template (evergreen.lowercase(name)); + +-- COMMIT; diff --git a/Open-ILS/src/sql/Pg/upgrade/YYYY.data.spt_perms.sql b/Open-ILS/src/sql/Pg/upgrade/YYYY.data.spt_perms.sql new file mode 100644 index 0000000000..3ef75dbb94 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/YYYY.data.spt_perms.sql @@ -0,0 +1,23 @@ +BEGIN; + +-- SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); +INSERT INTO permission.perm_list ( id, code, description ) VALUES + ( 590, 'ADMIN_SERIAL_PATTERN_TEMPLATE', oils_i18n_gettext( 590, + 'Administer serial prediction pattern templates', 'ppl', 'description' )) +; + +INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable) + SELECT + pgt.id, perm.id, aout.depth, FALSE + FROM + permission.grp_tree pgt, + permission.perm_list perm, + actor.org_unit_type aout + WHERE + pgt.name = 'Serials' AND + aout.name = 'System' AND + perm.code IN ( + 'ADMIN_SERIAL_PATTERN_TEMPLATE' + ); + +-- COMMIT; -- 2.11.0