diff options
Diffstat (limited to 'app/models.py')
-rw-r--r-- | app/models.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/app/models.py b/app/models.py index 4f5fee2..188377c 100644 --- a/app/models.py +++ b/app/models.py @@ -99,7 +99,7 @@ class User(db.Model, UserMixin): self.rank = UserRank.NOT_JOINED def isClaimed(self): - return self.password is not None and self.password != "" + return self.rank.atLeast(UserRank.NEW_MEMBER) def checkPerm(self, user, perm): if not user.is_authenticated: @@ -111,7 +111,9 @@ class User(db.Model, UserMixin): raise Exception("Unknown permission given to User.checkPerm()") # Members can edit their own packages, and editors can edit any packages - if perm == Permission.CHANGE_RANK: + if perm == Permission.CHANGE_AUTHOR: + return user.rank.atLeast(UserRank.EDITOR) + elif perm == Permission.CHANGE_RANK: return user.rank.atLeast(UserRank.MODERATOR) else: raise Exception("Permission {} is not related to users".format(perm.name)) |