/shabti/templates/shenu/+package+/lib/auth/permissions.py_tmpl

https://bitbucket.org/gawel/shabti · Unknown · 31 lines · 22 code · 9 blank · 0 comment · 0 complexity · 0ed61b06f95b4ba6309b49676c4a26f1 MD5 · raw file

  1. from {{package}}.lib.auth import get_user
  2. from {{package}} import model
  3. # Common permissions. Permission classes must have a 'check' method which returns True or False.
  4. class SignedIn(object):
  5. def check(self):
  6. return (get_user() is not None)
  7. class InGroup(object):
  8. def __init__(self, group_name):
  9. self.group_name = group_name
  10. def check(self):
  11. group = model.Group.filter_by(name = self.group_name, active = True)
  12. if group and get_user() in group.members:
  13. return True
  14. return False
  15. class HasPermission(object):
  16. def __init__(self, permission):
  17. self.permission = permission
  18. def check(self):
  19. user = get_user()
  20. if user and user.has_permission(self.permission):
  21. return True
  22. return False