Example #1
0
def login(request):
    """
    A view for logging in users 
    """

    # forward users who are already logged in to their homepage
    if request.user.is_authenticated():
        msg = 'You are already logged in and are forwarded to your Inbox'
        messages.info(request, msg)
        return HttpResponseRedirect(reverse('url_index'))

    next = None
    invalid = False
    if request.method == 'POST':

        # propagate 'next'
        if 'next' in request.POST:
            next = request.POST['next']

        form = LoginForm(request.POST)
        if form.is_valid():
            # get the username
            # (if there is no username, the form is not valid)
            username = form.get_username()
            password = form.cleaned_data['password']
            # authenticate 
            user = auth.authenticate(username=username, password=password)
            # (if the User object is not active, the form is not valid)
            if user is not None:
                # login
                auth.login(request, user)
                # check redirect
                if 'next' in request.POST:
                    next = request.POST['next']
                    return HttpResponseRedirect(next)
                # re-direct to home page
                return HttpResponseRedirect(reverse('url_index'))
            else:
                invalid = True
    else:
        # create an empty form
        form = LoginForm()

    # propagate 'next' 
    if request.method == 'GET' and 'next' in request.GET:
        next = request.GET['next']

    return render_to_response('registration/login.html', 
                              { 'form' : form,
                                'next' : next, 
                                'invalid' : invalid },
                  context_instance=RequestContext(request)) 
Example #2
0
def login(request):
    login_form = LoginForm()
    next = request.REQUEST.get('next')
    if request.method == 'POST':
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            username = login_form.get_username()
            request.session['username'] = username
            if next:
                return HttpResponseRedirect(next)
            return HttpResponseRedirect('/')

    context = {
        'login_form': login_form,
        'next': next,
    }
    return render_to_response('login.html', context,
        context_instance=RequestContext(request))
Example #3
0
def login(request):
    login_form = LoginForm()
    next = request.REQUEST.get('next')
    if request.method == 'POST':
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            username = login_form.get_username()
            request.session['username'] = username
            if next:
                return HttpResponseRedirect(next)
            return HttpResponseRedirect('/')

    context = {
        'login_form': login_form,
        'next': next,
    }
    return render_to_response('login.html',
                              context,
                              context_instance=RequestContext(request))