Skip to content

Commit

Permalink
Decorators for requiring authentication via django-twitterauth.
Browse files Browse the repository at this point in the history
  • Loading branch information
rcrowley committed Jan 25, 2009
1 parent 1feee70 commit c7ee6c6
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions decorators.py
@@ -0,0 +1,23 @@
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from twiver.auth.models import User

def wants_user(f):
def new(*args, **kw):
if 'authed' in args[0].session and args[0].session['authed']:
try: user = User.objects.get(pk=args[0].session['user_id'])
except: user = None
args[0].user = user
else:
args[0].user = None
return f(*args, **kw)
return new

def needs_user(url):
def decorator(f):
@wants_user
def new(*args, **kw):
if not args[0].user: return HttpResponseRedirect(reverse(url))
else: return f(*args, **kw)
return new
return decorator

0 comments on commit c7ee6c6

Please sign in to comment.