/shabti/templates/humanoid/+package+/controllers/demo.py_tmpl

https://bitbucket.org/gawel/shabti · Unknown · 48 lines · 36 code · 12 blank · 0 comment · 0 complexity · 12556dc180321f7d049c8b14de1ffe75 MD5 · raw file

  1. # -*- coding: utf-8 -*-
  2. import logging
  3. from pylons import request, tmpl_context as c
  4. from {{package}}.lib.base import BaseController, render
  5. log = logging.getLogger(__name__)
  6. from {{package}}.model import *
  7. from {{package}}.lib import auth
  8. from {{package}}.lib.decorators import authorize
  9. from {{package}}.lib.auth.permissions import SignedIn
  10. class DemoController(BaseController):
  11. # Need to protect an entire controller?
  12. # Decorating __before__ protects all actions
  13. # @authorize(SignedIn())
  14. def __before__(self):
  15. pass
  16. def index(self):
  17. c.users = meta.Session.query(User).all()
  18. c.groups = meta.Session.query(Group).all()
  19. c.permissions = meta.Session.query(Permission).all()
  20. # If signed in, get details
  21. c.user = auth.get_user()
  22. c.title = 'Public'
  23. return render('test.mako')
  24. # Need to protect just a single action?
  25. # Do it like this ....
  26. @authorize(SignedIn())
  27. def privindex(self):
  28. c.users = meta.Session.query(User).all()
  29. c.groups = meta.Session.query(Group).all()
  30. c.permissions = meta.Session.query(Permission).all()
  31. # Use this for obviousness
  32. # c.user = auth.get_user()
  33. # or this for directness
  34. c.user = request.environ['AUTH_USER']
  35. c.title = 'Private'
  36. return render('test.mako')