diff options
author | rubenwardy <rw@rubenwardy.com> | 2020-05-31 16:06:04 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2020-05-31 16:06:04 +0100 |
commit | 99a8f3d5d68e1a738ab1f38617fbeaf8cba93b9c (patch) | |
tree | 3b8a73c3c963f436258356b9fbc7038a7dbd2eab /app/models.py | |
parent | c1b4256d440d0c858dedb4971f96c78677538b1d (diff) | |
download | cheatdb-99a8f3d5d68e1a738ab1f38617fbeaf8cba93b9c.tar.xz |
Fix broken release auto-approval due to permissions check
Diffstat (limited to 'app/models.py')
-rw-r--r-- | app/models.py | 8 |
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 != "" |