/shabti/templates/auth_rdfalchemy/+package+/lib/decorators.py_tmpl
Unknown | 19 lines | 15 code | 4 blank | 0 comment | 0 complexity | 2ea11ace243b567828f3cd11eb040c9d MD5 | raw file
1import pylons
2from decorator import decorator
3from {{package}}.lib.auth import redirect_to_login
4
5import logging
6log = logging.getLogger(__name__)
7
8def authorize(permission):
9
10 """Decorator for authenticating individual actions. Takes a permission
11 instance as argument(see lib/permissions.py for examples)"""
12 def wrapper(func, self, *args, **kw):
13 if permission.check():
14 return func(self, *args, **kw)
15 pylons.session['redirect'] = pylons.request.environ['pylons.routes_dict']
16 pylons.session.save()
17 redirect_to_login()
18 return decorator(wrapper)
19