# HG changeset patch # User jbe # Date 1500333285 -7200 # Node ID f46ebb67789882644e8ad7732ed2e4acf34f02a2 # Parent 9c433d24ed00b30ae5487d7672adb5edf591e3d9 Fixed unit/area/policy event triggers diff -r 9c433d24ed00 -r f46ebb677898 core.sql --- a/core.sql Fri Jul 14 21:17:26 2017 +0200 +++ b/core.sql Tue Jul 18 01:14:45 2017 +0200 @@ -1722,10 +1722,14 @@ IF TG_OP = 'UPDATE' THEN IF OLD."active" = FALSE AND NEW."active" = FALSE THEN RETURN NULL; + ELSIF OLD."active" = FALSE AND NEW."active" = TRUE THEN + "event_v" := 'unit_created'; ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN "event_v" := 'unit_removed'; + ELSIF OLD != NEW THEN + "event_v" := 'unit_updated'; ELSE - "event_v" := 'unit_updated'; + RETURN NULL; END IF; ELSE "event_v" := 'unit_created'; @@ -1751,10 +1755,14 @@ IF TG_OP = 'UPDATE' THEN IF OLD."active" = FALSE AND NEW."active" = FALSE THEN RETURN NULL; + ELSIF OLD."active" = FALSE AND NEW."active" = TRUE THEN + "event_v" := 'area_created'; ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN "event_v" := 'area_removed'; + ELSIF OLD != NEW THEN + "event_v" := 'area_updated'; ELSE - "event_v" := 'area_updated'; + RETURN NULL; END IF; ELSE "event_v" := 'area_created'; @@ -1780,10 +1788,14 @@ IF TG_OP = 'UPDATE' THEN IF OLD."active" = FALSE AND NEW."active" = FALSE THEN RETURN NULL; + ELSIF OLD."active" = FALSE AND NEW."active" = TRUE THEN + "event_v" := 'policy_created'; ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN "event_v" := 'policy_removed'; + ELSIF OLD != NEW THEN + "event_v" := 'policy_updated'; ELSE - "event_v" := 'policy_updated'; + RETURN NULL; END IF; ELSE "event_v" := 'policy_created'; diff -r 9c433d24ed00 -r f46ebb677898 update/core-update.v3.2.2-v4.0.0.sql --- a/update/core-update.v3.2.2-v4.0.0.sql Fri Jul 14 21:17:26 2017 +0200 +++ b/update/core-update.v3.2.2-v4.0.0.sql Tue Jul 18 01:14:45 2017 +0200 @@ -985,10 +985,14 @@ IF TG_OP = 'UPDATE' THEN IF OLD."active" = FALSE AND NEW."active" = FALSE THEN RETURN NULL; + ELSIF OLD."active" = FALSE AND NEW."active" = TRUE THEN + "event_v" := 'unit_created'; ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN "event_v" := 'unit_removed'; + ELSIF OLD != NEW THEN + "event_v" := 'unit_updated'; ELSE - "event_v" := 'unit_updated'; + RETURN NULL; END IF; ELSE "event_v" := 'unit_created'; @@ -1014,10 +1018,14 @@ IF TG_OP = 'UPDATE' THEN IF OLD."active" = FALSE AND NEW."active" = FALSE THEN RETURN NULL; + ELSIF OLD."active" = FALSE AND NEW."active" = TRUE THEN + "event_v" := 'area_created'; ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN "event_v" := 'area_removed'; + ELSIF OLD != NEW THEN + "event_v" := 'area_updated'; ELSE - "event_v" := 'area_updated'; + RETURN NULL; END IF; ELSE "event_v" := 'area_created'; @@ -1043,10 +1051,14 @@ IF TG_OP = 'UPDATE' THEN IF OLD."active" = FALSE AND NEW."active" = FALSE THEN RETURN NULL; + ELSIF OLD."active" = FALSE AND NEW."active" = TRUE THEN + "event_v" := 'policy_created'; ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN "event_v" := 'policy_removed'; + ELSIF OLD != NEW THEN + "event_v" := 'policy_updated'; ELSE - "event_v" := 'policy_updated'; + RETURN NULL; END IF; ELSE "event_v" := 'policy_created';