From: Jason Stephenson Date: Wed, 12 Oct 2011 14:53:55 +0000 (-0400) Subject: Add upgrade script for asset.acp_status_changed(). X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=fead6b8803457737d24a25e2e670bad7097dd8ff;p=working%2FEvergreen.git Add upgrade script for asset.acp_status_changed(). CREATE OR REPLACE FUNCTION with the new function definition. Signed-off-by: Jason Stephenson --- 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