diff options
author | rubenwardy <rw@rubenwardy.com> | 2020-07-15 19:54:33 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2020-07-15 19:54:36 +0100 |
commit | 7fb2f3170c067e7869bfb19f29da5f4d41762f34 (patch) | |
tree | 8f23c0efa12876d02ae54a09f51b08103998e841 /app/models.py | |
parent | 9663e87838dcc040cf0c5df99db1e07b7b56189e (diff) | |
download | cheatdb-7fb2f3170c067e7869bfb19f29da5f4d41762f34.tar.xz |
Allow Editors to edit tags
Diffstat (limited to 'app/models.py')
-rw-r--r-- | app/models.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/models.py b/app/models.py index 711d9fd..e6ff6f0 100644 --- a/app/models.py +++ b/app/models.py @@ -84,6 +84,8 @@ class Permission(enum.Enum): APPROVE_SCREENSHOT = "APPROVE_SCREENSHOT" APPROVE_RELEASE = "APPROVE_RELEASE" APPROVE_NEW = "APPROVE_NEW" + EDIT_TAGS = "EDIT_TAGS" + CREATE_TAG = "CREATE_TAG" CHANGE_RELEASE_URL = "CHANGE_RELEASE_URL" CHANGE_USERNAMES = "CHANGE_USERNAMES" CHANGE_RANK = "CHANGE_RANK" @@ -111,11 +113,22 @@ class Permission(enum.Enum): self == Permission.APPROVE_CHANGES or \ self == Permission.APPROVE_RELEASE or \ self == Permission.APPROVE_SCREENSHOT or \ + self == Permission.EDIT_TAGS or \ + self == Permission.CREATE_TAG or \ self == Permission.SEE_THREAD: return user.rank.atLeast(UserRank.EDITOR) else: raise Exception("Non-global permission checked globally. Use Package.checkPerm or User.checkPerm instead.") + @staticmethod + def checkPerm(user, perm): + if type(perm) == str: + perm = Permission[perm] + elif type(perm) != Permission: + raise Exception("Unknown permission given to Permission.check") + + return perm.check(user) + def display_name_default(context): return context.get_current_parameters()["username"] |