aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-07-15 19:54:33 +0100
committerrubenwardy <rw@rubenwardy.com>2020-07-15 19:54:36 +0100
commit7fb2f3170c067e7869bfb19f29da5f4d41762f34 (patch)
tree8f23c0efa12876d02ae54a09f51b08103998e841 /app/models.py
parent9663e87838dcc040cf0c5df99db1e07b7b56189e (diff)
downloadcheatdb-7fb2f3170c067e7869bfb19f29da5f4d41762f34.tar.xz
Allow Editors to edit tags
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py13
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"]