/shabti/templates/shenu/+package+/lib/auth/permissions.py_tmpl
Unknown | 31 lines | 22 code | 9 blank | 0 comment | 0 complexity | 0ed61b06f95b4ba6309b49676c4a26f1 MD5 | raw file
1from {{package}}.lib.auth import get_user
2from {{package}} import model
3
4# Common permissions. Permission classes must have a 'check' method which returns True or False.
5
6class SignedIn(object):
7
8 def check(self):
9 return (get_user() is not None)
10
11class InGroup(object):
12
13 def __init__(self, group_name):
14 self.group_name = group_name
15
16 def check(self):
17 group = model.Group.filter_by(name = self.group_name, active = True)
18 if group and get_user() in group.members:
19 return True
20 return False
21
22class HasPermission(object):
23
24 def __init__(self, permission):
25 self.permission = permission
26
27 def check(self):
28 user = get_user()
29 if user and user.has_permission(self.permission):
30 return True
31 return False