/shabti/templates/auth/+package+/lib/helpers.py_tmpl

https://bitbucket.org/gawel/shabti · Unknown · 49 lines · 39 code · 10 blank · 0 comment · 0 complexity · 18d1ba4ca4d03cd9c1ceecbd50dcf0a2 MD5 · raw file

  1. # -*- coding: utf-8 -*-
  2. """Helper functions
  3. Consists of functions to typically be used within templates, but also
  4. available to Controllers. This module is available to both as 'h'.
  5. """
  6. import logging
  7. from pylons import url
  8. from pylons.controllers.util import redirect
  9. # Scaffolding helper imports
  10. from webhelpers.html.tags import *
  11. from webhelpers.html import literal
  12. from webhelpers.pylonslib import Flash as _Flash
  13. # End of.
  14. flash = _Flash()
  15. success_flash = _Flash('success')
  16. failure_flash = _Flash('failure')
  17. log = logging.getLogger(__name__)
  18. def get_object_or_404(model, **kw):
  19. from pylons.controllers.util import abort
  20. """
  21. Returns object, or raises a 404 Not Found is object is not in db.
  22. Uses elixir-specific `get_by()` convenience function (see elixir source:
  23. http://elixir.ematia.de/trac/browser/elixir/trunk/elixir/entity.py#L1082)
  24. Example: user = get_object_or_404(model.User, id = 1)
  25. """
  26. obj = model.get_by(**kw)
  27. if obj is None:
  28. abort(404)
  29. return obj
  30. # Auth helpers
  31. from {{package}}.lib.auth import permissions
  32. from {{package}}.lib.auth import get_user
  33. def signed_in():
  34. return permissions.SignedIn().check()
  35. def in_group(group_name):
  36. return permissions.InGroup(group_name).check()
  37. def has_permission(perm):
  38. return permissions.HasPermission(perm).check()
  39. # --- Overwritten by Shabti auth template