aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-05-31 16:06:04 +0100
committerrubenwardy <rw@rubenwardy.com>2020-05-31 16:06:04 +0100
commit99a8f3d5d68e1a738ab1f38617fbeaf8cba93b9c (patch)
tree3b8a73c3c963f436258356b9fbc7038a7dbd2eab /app/models.py
parentc1b4256d440d0c858dedb4971f96c78677538b1d (diff)
downloadcheatdb-99a8f3d5d68e1a738ab1f38617fbeaf8cba93b9c.tar.xz
Fix broken release auto-approval due to permissions check
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/app/models.py b/app/models.py
index aeab995..40ac97b 100644
--- a/app/models.py
+++ b/app/models.py
@@ -686,7 +686,10 @@ class Package(db.Model):
return user.rank.atLeast(UserRank.EDITOR)
elif perm == Permission.APPROVE_SCREENSHOT:
- return user.rank.atLeast(UserRank.TRUSTED_MEMBER if isOwner else UserRank.EDITOR)
+ if isOwner:
+ return user.rank.atLeast(UserRank.TRUSTED_MEMBER if self.approved else UserRank.NEW_MEMBER)
+ else:
+ return user.rank.atLeast(UserRank.EDITOR)
# Moderators can delete packages
elif perm == Permission.DELETE_PACKAGE or perm == Permission.UNAPPROVE_PACKAGE \
@@ -848,8 +851,7 @@ class PackageRelease(db.Model):
self.releaseDate = datetime.datetime.now()
def approve(self, user):
- if self.package.approved or \
- not self.package.checkPerm(user, Permission.APPROVE_RELEASE):
+ if not self.package.checkPerm(user, Permission.APPROVE_RELEASE):
return False
assert self.task_id is None and self.url is not None and self.url != ""