From fead6b8803457737d24a25e2e670bad7097dd8ff Mon Sep 17 00:00:00 2001 From: Jason Stephenson Date: Wed, 12 Oct 2011 10:53:55 -0400 Subject: [PATCH] Add upgrade script for asset.acp_status_changed(). CREATE OR REPLACE FUNCTION with the new function definition. Signed-off-by: Jason Stephenson --- .../sql/Pg/upgrade/XXXX.asset.acp_status_changed.sql | 18 ++++++++++++++++++ .../XXXX.config.copy_status.restrict_copy_delete.sql | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.asset.acp_status_changed.sql diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.asset.acp_status_changed.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.asset.acp_status_changed.sql new file mode 100644 index 0000000000..05316f27c3 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.asset.acp_status_changed.sql @@ -0,0 +1,18 @@ +CREATE OR REPLACE FUNCTION asset.acp_status_changed() +RETURNS TRIGGER AS $$ +BEGIN + IF NEW.status <> OLD.status AND NOT (NEW.status = 0 AND OLD.status = 7) THEN + NEW.status_changed_time := now(); + IF NEW.active_date IS NULL AND NEW.status IN (SELECT id FROM config.copy_status WHERE copy_active = true) THEN + NEW.active_date := now(); + END IF; + END IF; + IF NEW.deleted <> OLD.deleted AND NEW.deleted = TRUE THEN + IF NEW.status IN (SELECT id FROM config.copy_status WHERE restrict_copy_delete = TRUE) THEN + NEW.deleted := FALSE; + END IF; + END IF; + RETURN NEW; +END; +$$ LANGUAGE plpgsql; + diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.config.copy_status.restrict_copy_delete.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.config.copy_status.restrict_copy_delete.sql index e91aed21c9..ec3c6c15c1 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.config.copy_status.restrict_copy_delete.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.config.copy_status.restrict_copy_delete.sql @@ -1,7 +1,7 @@ BEGIN; ALTER TABLE config.copy_status - ADD COLUMN restrict_copy_delete BOOL NOT NULL DEFAULT FALSE; + ADD COLUMN restrict_copy_delete BOOL NOT NULL DEFAULT FALSE; UPDATE config.copy_status SET restrict_copy_delete = TRUE -- 2.11.0