aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorrubenwardy <rubenwardy@gmail.com>2018-04-03 14:56:43 +0100
committerrubenwardy <rubenwardy@gmail.com>2018-04-03 15:01:21 +0100
commited88c61714ba62ad591d8dcbc635231f0fc0daa7 (patch)
tree6081c199a25a5eb86532a552c32f503d19901f71 /app/models.py
parent5f2a3992602b59614a8c3d9a193e4669705c048c (diff)
downloadcheatdb-ed88c61714ba62ad591d8dcbc635231f0fc0daa7.tar.xz
Add ability to create packages on behalf of other users
Fixes #27
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))