def activation_required login login activation activation Redirect use

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
def activation_required(login='login', activation='activation'):
"""
Redirect user to:
- login page if not authenticated
- activation page if not activated
"""
def decorator(func):
def wrapper(request, *args, **kw):
if not request.user.is_authenticated():
return HttpResponseRedirect(reverse(login))
elif not request.user.is_active:
return HttpResponseRedirect(reverse(activation))
return func(request, *args, **kw)
return wrapper
return decorator