aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2019-07-29 20:29:55 +0100
committerrubenwardy <rw@rubenwardy.com>2019-07-29 20:29:55 +0100
commite87db8b87fbfb826882ccf12bd28ed9d0e9918de (patch)
tree4211f7da187b489fdc8b90bffdfe70aa41a964a2 /app/models.py
parentb36273a848e6dd1a7971283cb3134b6a1e5e39ee (diff)
downloadcheatdb-e87db8b87fbfb826882ccf12bd28ed9d0e9918de.tar.xz
Prevent users from changing the name of approved packages
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/app/models.py b/app/models.py
index 583c92a..4b835bb 100644
--- a/app/models.py
+++ b/app/models.py
@@ -76,6 +76,7 @@ class Permission(enum.Enum):
APPROVE_CHANGES = "APPROVE_CHANGES"
DELETE_PACKAGE = "DELETE_PACKAGE"
CHANGE_AUTHOR = "CHANGE_AUTHOR"
+ CHANGE_NAME = "CHANGE_NAME"
MAKE_RELEASE = "MAKE_RELEASE"
ADD_SCREENSHOTS = "ADD_SCREENSHOTS"
APPROVE_SCREENSHOT = "APPROVE_SCREENSHOT"
@@ -572,6 +573,10 @@ class Package(db.Model):
else:
return user.rank.atLeast(UserRank.EDITOR)
+ # Anyone can change the package name when not approved, but only editors when approved
+ elif perm == Permission.CHANGE_NAME:
+ return not self.approved or user.rank.atLeast(UserRank.EDITOR)
+
# Editors can change authors and approve new packages
elif perm == Permission.APPROVE_NEW or perm == Permission.CHANGE_AUTHOR:
return user.rank.atLeast(UserRank.EDITOR)