liquid_feedback_core

changeset 292:3de42ea02dc2

No "issue_quorum" for polling policies
author jbe
date Mon Aug 20 13:22:33 2012 +0200 (2012-08-20)
parents 86f231bd6906
children 9ab561a91035
files core.sql update/core-update.v2.0.11-v2.1.0.sql
line diff
     1.1 --- a/core.sql	Mon Aug 20 03:28:45 2012 +0200
     1.2 +++ b/core.sql	Mon Aug 20 13:22:33 2012 +0200
     1.3 @@ -337,8 +337,8 @@
     1.4          "discussion_time"       INTERVAL,
     1.5          "verification_time"     INTERVAL,
     1.6          "voting_time"           INTERVAL,
     1.7 -        "issue_quorum_num"      INT4            NOT NULL,
     1.8 -        "issue_quorum_den"      INT4            NOT NULL,
     1.9 +        "issue_quorum_num"      INT4,
    1.10 +        "issue_quorum_den"      INT4,
    1.11          "initiative_quorum_num" INT4            NOT NULL,
    1.12          "initiative_quorum_den" INT4            NOT NULL,
    1.13          "direct_majority_num"           INT4    NOT NULL DEFAULT 1,
    1.14 @@ -362,7 +362,10 @@
    1.15              "verification_time" NOTNULL AND "voting_time" NOTNULL ) OR
    1.16            ( "polling" = TRUE AND
    1.17              "admission_time" ISNULL AND "discussion_time" ISNULL AND
    1.18 -            "verification_time" ISNULL AND "voting_time" ISNULL ) ) );
    1.19 +            "verification_time" ISNULL AND "voting_time" ISNULL ) ),
    1.20 +        CONSTRAINT "issue_quorum_if_and_only_if_not_polling" CHECK (
    1.21 +          "polling" = "issue_quorum_num" ISNULL AND
    1.22 +          "polling" = "issue_quorum_den" ISNULL ) );
    1.23  CREATE INDEX "policy_active_idx" ON "policy" ("active");
    1.24  
    1.25  COMMENT ON TABLE "policy" IS 'Policies for a particular proceeding type (timelimits, quorum)';
     2.1 --- a/update/core-update.v2.0.11-v2.1.0.sql	Mon Aug 20 03:28:45 2012 +0200
     2.2 +++ b/update/core-update.v2.0.11-v2.1.0.sql	Mon Aug 20 13:22:33 2012 +0200
     2.3 @@ -21,6 +21,8 @@
     2.4  ALTER TABLE "policy" ALTER COLUMN "discussion_time"   DROP NOT NULL;
     2.5  ALTER TABLE "policy" ALTER COLUMN "verification_time" DROP NOT NULL;
     2.6  ALTER TABLE "policy" ALTER COLUMN "voting_time"       DROP NOT NULL;
     2.7 +ALTER TABLE "policy" ALTER COLUMN "issue_quorum_num"  DROP NOT NULL;
     2.8 +ALTER TABLE "policy" ALTER COLUMN "issue_quorum_den"  DROP NOT NULL;
     2.9  ALTER TABLE "policy" ADD CONSTRAINT "timing" CHECK (
    2.10            ( "polling" = FALSE AND
    2.11              "admission_time" NOTNULL AND "discussion_time" NOTNULL AND
    2.12 @@ -31,6 +33,9 @@
    2.13            ( "polling" = TRUE AND
    2.14              "admission_time" ISNULL AND "discussion_time" ISNULL AND
    2.15              "verification_time" ISNULL AND "voting_time" ISNULL ) );
    2.16 +ALTER TABLE "policy" ADD CONSTRAINT "issue_quorum_if_and_only_if_not_polling" CHECK (
    2.17 +          "polling" = "issue_quorum_num" ISNULL AND
    2.18 +          "polling" = "issue_quorum_den" ISNULL );
    2.19  COMMENT ON COLUMN "policy"."polling" IS 'TRUE = special policy for non-user-generated issues without issue quorum, where certain initiatives (those having the "polling" flag set) do not need to pass the initiative quorum; "admission_time" MUST be set to NULL, the other timings may be set to NULL altogether, allowing individual timing for those issues';
    2.20  
    2.21  ALTER TABLE "issue" ALTER COLUMN "admission_time" DROP NOT NULL;

Impressum / About Us