From c4fe41688a5e45f6c4f0d24a85335e1190745fe0 Mon Sep 17 00:00:00 2001 From: Lebbeous Fogle-Weekley Date: Tue, 11 Sep 2012 11:56:09 -0400 Subject: [PATCH] For the change order, let's do filter sets a little more generalized-like Signed-off-by: Lebbeous Fogle-Weekley --- Open-ILS/examples/fm_IDL.xml | 75 ++++++++++++++-------- Open-ILS/src/sql/Pg/002.schema.config.sql | 17 +++++ Open-ILS/src/sql/Pg/075.schema.url_verify.sql | 10 --- Open-ILS/src/sql/Pg/800.fkeys.sql | 13 ++++ Open-ILS/src/sql/Pg/950.data.seed-values.sql | 9 +++ .../src/sql/Pg/upgrade/XXXX.schema.url_verify.sql | 12 +++- .../src/sql/Pg/upgrade/ZZZZ.data.url_verify.sql | 10 +++ 7 files changed, 105 insertions(+), 41 deletions(-) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 3405dde65c..aae485648f 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -9571,37 +9571,56 @@ SELECT usr, - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index e1f8381576..57581f7372 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -1002,4 +1002,21 @@ CREATE UNIQUE INDEX unique_wwh ON config.usr_activity_type (COALESCE(ewho,''), COALESCE (ewhat,''), COALESCE(ehow,'')); +CREATE TABLE config.filter_dialog_interface ( + key TEXT PRIMARY KEY, + description TEXT +); + +CREATE TABLE config.filter_dialog_filter_set ( + id SERIAL PRIMARY KEY, + name TEXT NOT NULL, + owning_lib INT NOT NULL, -- REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED, + creator INT NOT NULL, -- REFERENCES actor.usr (id) DEFERRABLE INITIALLY DEFERRED, + create_time TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(), + interface TEXT NOT NULL REFERENCES config.filter_dialog_interface (key) DEFERRABLE INITIALLY DEFERRED, + filters TEXT NOT NULL, -- CHECK (evergreen.is_json(filters)) + CONSTRAINT cfdfs_name_once_per_lib UNIQUE (name, owning_lib) +); + + COMMIT; diff --git a/Open-ILS/src/sql/Pg/075.schema.url_verify.sql b/Open-ILS/src/sql/Pg/075.schema.url_verify.sql index 653d028082..7e39ebabc2 100644 --- a/Open-ILS/src/sql/Pg/075.schema.url_verify.sql +++ b/Open-ILS/src/sql/Pg/075.schema.url_verify.sql @@ -89,15 +89,5 @@ CREATE TABLE url_verify.url_verification ( redirect_to INT REFERENCES url_verify.url (id) DEFERRABLE INITIALLY DEFERRED -- if redirected ); -CREATE TABLE url_verify.filter_set ( - id SERIAL PRIMARY KEY, - name TEXT NOT NULL, - owning_lib INT NOT NULL REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED, - creator INT NOT NULL REFERENCES actor.usr (id) DEFERRABLE INITIALLY DEFERRED, - create_time TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(), - filter TEXT NOT NULL, - CONSTRAINT uvfs_name_once_per_lib UNIQUE (name, owning_lib) -); - COMMIT; diff --git a/Open-ILS/src/sql/Pg/800.fkeys.sql b/Open-ILS/src/sql/Pg/800.fkeys.sql index 53be2e1a9e..e24ca9f594 100644 --- a/Open-ILS/src/sql/Pg/800.fkeys.sql +++ b/Open-ILS/src/sql/Pg/800.fkeys.sql @@ -126,4 +126,17 @@ ALTER TABLE config.z3950_source ADD CONSTRAINT use_perm_fkey FOREIGN KEY (use_pe ALTER TABLE config.org_unit_setting_type_log ADD CONSTRAINT config_org_unit_setting_type_log_fkey FOREIGN KEY (org) REFERENCES actor.org_unit (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; +ALTER TABLE config.filter_dialog_filter_set + ADD CONSTRAINT config_filter_dialog_filter_set_owning_lib_fkey + FOREIGN KEY (owning_lib) REFERENCES actor.org_unit (id) + ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; + +ALTER TABLE config.filter_dialog_filter_set + ADD CONSTRAINT config_filter_dialog_filter_set_creator_fkey + FOREIGN KEY (creator) REFERENCES actor.usr (id) + ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; + +ALTER TABLE config.filter_dialog_filter_set + ADD CONSTRAINT config_filter_dialog_filter_set_filters_check + CHECK (evergreen.is_json(filters)) COMMIT; 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 9bb480bcd2..a1de894785 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -11944,4 +11944,13 @@ INSERT INTO config.org_unit_setting_type 540 ); +INSERT INTO config.filter_dialog_interface (key, description) VALUES ( + 'url_verify', + oils_i18n_gettext( + 'url_verify', + 'All Link Checker filter dialogs', + 'cfdi', + 'description' + ) +); diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.url_verify.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.url_verify.sql index 42e544431a..ddddd41626 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.url_verify.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.url_verify.sql @@ -75,14 +75,20 @@ CREATE TABLE url_verify.url_verification ( redirect_to INT REFERENCES url_verify.url (id) DEFERRABLE INITIALLY DEFERRED -- if redirected ); -CREATE TABLE url_verify.filter_set ( +CREATE TABLE config.filter_dialog_interface ( + key TEXT PRIMARY KEY, + description TEXT +); + +CREATE TABLE config.filter_dialog_filter_set ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, owning_lib INT NOT NULL REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED, creator INT NOT NULL REFERENCES actor.usr (id) DEFERRABLE INITIALLY DEFERRED, create_time TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(), - filter TEXT NOT NULL, - CONSTRAINT uvfs_name_once_per_lib UNIQUE (name, owning_lib) + interface TEXT NOT NULL REFERENCES config.filter_dialog_interface (key) DEFERRABLE INITIALLY DEFERRED, + filters TEXT NOT NULL CHECK (evergreen.is_json(filters)), + CONSTRAINT cfdfs_name_once_per_lib UNIQUE (name, owning_lib) ); COMMIT; diff --git a/Open-ILS/src/sql/Pg/upgrade/ZZZZ.data.url_verify.sql b/Open-ILS/src/sql/Pg/upgrade/ZZZZ.data.url_verify.sql index f890806f2a..2bec396d0e 100644 --- a/Open-ILS/src/sql/Pg/upgrade/ZZZZ.data.url_verify.sql +++ b/Open-ILS/src/sql/Pg/upgrade/ZZZZ.data.url_verify.sql @@ -127,5 +127,15 @@ INSERT INTO config.org_unit_setting_type ); +INSERT INTO config.filter_dialog_interface (key, description) VALUES ( + 'url_verify', + oils_i18n_gettext( + 'url_verify', + 'All Link Checker filter dialogs', + 'cfdi', + 'description' + ) +); + COMMIT; -- 2.11.0