diff options
author | rubenwardy <rubenwardy@gmail.com> | 2018-04-03 14:56:43 +0100 |
---|---|---|
committer | rubenwardy <rubenwardy@gmail.com> | 2018-04-03 15:01:21 +0100 |
commit | ed88c61714ba62ad591d8dcbc635231f0fc0daa7 (patch) | |
tree | 6081c199a25a5eb86532a552c32f503d19901f71 /app/models.py | |
parent | 5f2a3992602b59614a8c3d9a193e4669705c048c (diff) | |
download | cheatdb-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.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)) |