diff options
Diffstat (limited to 'app/models.py')
-rw-r--r-- | app/models.py | 5 |
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) |