summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2011-04-30 18:04:50 +0200
committerYorhel <git@yorhel.nl>2011-04-30 18:04:50 +0200
commit4873e8583189ee9c611fadd27d491dc104c52b57 (patch)
tree8c3b4e8b6f1c011e85f1ead078b7308b0863345e /util
parent57b464e826e5f24828dec9401b70baaa43410b6c (diff)
Replaced user ranks with a permission system
This is far more flexible.
Diffstat (limited to 'util')
-rw-r--r--util/sql/schema.sql2
-rw-r--r--util/updates/update_2.20.sql13
2 files changed, 14 insertions, 1 deletions
diff --git a/util/sql/schema.sql b/util/sql/schema.sql
index 0a593cec..6cbd2b14 100644
--- a/util/sql/schema.sql
+++ b/util/sql/schema.sql
@@ -357,7 +357,7 @@ CREATE TABLE users (
id SERIAL NOT NULL PRIMARY KEY,
username varchar(20) NOT NULL UNIQUE,
mail varchar(100) NOT NULL,
- rank smallint NOT NULL DEFAULT 3,
+ perm smallint NOT NULL DEFAULT 1+4+16,
passwd bytea NOT NULL DEFAULT '',
registered timestamptz NOT NULL DEFAULT NOW(),
c_votes integer NOT NULL DEFAULT 0,
diff --git a/util/updates/update_2.20.sql b/util/updates/update_2.20.sql
index c4cdb880..390e9a41 100644
--- a/util/updates/update_2.20.sql
+++ b/util/updates/update_2.20.sql
@@ -39,3 +39,16 @@ CREATE TABLE affiliate_links (
CREATE INDEX affiliate_links_rid ON affiliate_links (rid) WHERE NOT hidden;
+
+
+-- rank -> permissions
+
+ALTER TABLE users RENAME rank TO perm;
+ALTER TABLE users ALTER COLUMN perm SET DEFAULT 1+4+16;
+UPDATE users SET perm = CASE
+ WHEN perm = 2 THEN 1
+ WHEN perm = 3 THEN 1+4+16
+ WHEN perm = 4 THEN 1+2+4+8+16+32+64
+ WHEN perm = 5 THEN 1+2+4+8+16+32+64+128+256
+ ELSE 0 END;
+