def activation_required(login='login', activation='activation'):
"""
Redirect user to:
- login page if not authenticated
- activation page if not activated
examples:
@activation_required('login-page', 'activation-page')
def something(..):
pass
"""
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
Comments