aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py6
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))