diff options
author | rubenwardy <rw@rubenwardy.com> | 2018-05-27 23:53:55 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2018-05-27 23:56:13 +0100 |
commit | d6790903a654691bd56dabd62674e960ad4d7f91 (patch) | |
tree | d44afa682a6848235d8ace9d9f68fe032f4e0ff6 /app/models.py | |
parent | 48573fe922e34e65a5f53b342954241bd92486ca (diff) | |
download | cheatdb-d6790903a654691bd56dabd62674e960ad4d7f91.tar.xz |
Add trusted member rankv1.2.0
Diffstat (limited to 'app/models.py')
-rw-r--r-- | app/models.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/app/models.py b/app/models.py index e79b00f..d414589 100644 --- a/app/models.py +++ b/app/models.py @@ -31,13 +31,14 @@ migrate = Migrate(app, db) class UserRank(enum.Enum): - BANNED = 0 - NOT_JOINED = 1 - NEW_MEMBER = 2 - MEMBER = 3 - EDITOR = 4 - MODERATOR = 5 - ADMIN = 6 + BANNED = 0 + NOT_JOINED = 1 + NEW_MEMBER = 2 + MEMBER = 3 + TRUSTED_MEMBER = 4 + EDITOR = 5 + MODERATOR = 6 + ADMIN = 7 def atLeast(self, min): return self.value >= min.value @@ -460,11 +461,14 @@ class Package(db.Model): else: return user.rank.atLeast(UserRank.EDITOR) - # Editors can change authors, approve new packages, and approve releases - elif perm == Permission.CHANGE_AUTHOR or perm == Permission.APPROVE_NEW \ - or perm == Permission.APPROVE_RELEASE or perm == Permission.APPROVE_SCREENSHOT: + # Editors can change authors + elif perm == Permission.CHANGE_AUTHOR: return user.rank.atLeast(UserRank.EDITOR) + elif perm == Permission.APPROVE_NEW or perm == Permission.APPROVE_RELEASE \ + or perm == Permission.APPROVE_SCREENSHOT: + return user.rank.atLeast(UserRank.TRUSTED_MEMBER if isOwner else UserRank.EDITOR) + # Moderators can delete packages elif perm == Permission.DELETE_PACKAGE or perm == Permission.CHANGE_RELEASE_URL: return user.rank.atLeast(UserRank.MODERATOR) |