예제 #1
0
def login_or_logout_form(context, next):
    """
    Usage:  {% login_or_logout_form next %}
    After:  Depending on whether the browsing user is logged in or not a login or logout
            form has been displayed
            After a successful login the user is redirected to the url next
    """
    user = context['user']
    request = context['request']
    login_url = reverse('login')

    if request.path == login_url:
        return {'on_login_page': True }

    if next == login_url:
        next = reverse('index')

    if not user.is_authenticated():
        form = AuthenticationForm(auto_id = "login-form-%s")
        form.fields['username'].widget.attrs['tabindex'] = 1
        form.fields['password'].widget.attrs['tabindex'] = 2
        form.id = "login-form"
        return {'login' : True, 'form' : form , 'next': next}
    else:
        return {'login': False }