aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
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)