Esempio n. 1
0
def login(request):
    if request.user.is_authenticated():
        return handle_user_type(request, redirect_request=True)
    f = LoginForm(request.POST)
    if f.is_valid():
        user = f.get_user()
        if not user.is_active:
            from datetime import datetime
            user_hashid = ''
            timestamp = user.last_login or user.date_joined
            if ((datetime.utcnow() -
                 timestamp.replace(tzinfo=None)).total_seconds() >
                    300):  # 5 min
                user_hashid = settings.HASHID_CUSTOM_USER.encode(user.pk)
            return JsonResponse(
                data={
                    'success':
                    True,
                    'render':
                    loader.render_to_string('account/inactive.html', {
                        'user': user,
                        'user_hashid': user_hashid
                    })
                })
        auth_login(request, user)
        return JsonResponse(data={
            'success': True,
            'location': get_relevant_reversed_url(request)
        })
    else:
        return JsonResponse(status=400,
                            data={'errors': dict(f.errors.items())})
Esempio n. 2
0
def login(request):
    if request.method == 'POST':
        form = LoginForm(request, data=request.POST)
        if form.is_valid():
            auth_login(request, form.get_user())
            next_page = request.GET.get('next', '/')
            return HttpResponseRedirect(next_page)
    else:
        form = LoginForm()
    if request.user.is_authenticated():
        return HttpResponseRedirect('/')
    return TemplateResponse(request, 'account/login.html', {'form': form})
Esempio n. 3
0
File: views.py Progetto: TJBANEY/WFF
def sign_in(request):

    if request.method == 'POST':
        form = LoginForm(data=request.POST)

        if form.is_valid():
            login(request, form.get_user())

            return HttpResponseRedirect('/calendar.html')

    else:
        form = LoginForm()

    return render(request, 'account/sign_in.html', {'form': form})
Esempio n. 4
0
def login(request):
    """
    Displays the login form and handles the login action.
    """
    redirect_to = request.REQUEST.get('next', '')
    if not redirect_to:
        redirect_to = get_referer_url(request)

    if request.method == "POST":
        form = LoginForm(data=request.POST)
        if form.is_valid():

            # Ensure the user-originating redirection url is safe.
            if not is_safe_url(url=redirect_to, host=request.get_host()):
                redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)

            if not form.cleaned_data.get('remember_me'):
                request.session.set_expiry(0)

            # Okay, security check complete. Log the user in.
            auth_login(request, form.get_user())

            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()

            return  JsonResponse({'status': True, 'redirect': redirect_to})
        else:
            status = False
    else:
        form = LoginForm(request)
        status = True

    request.session.set_test_cookie()

    request_url = urlparse.urlparse(request.build_absolute_uri())

    context = {
        'form': form,
        'next': redirect_to or '',
        'domain': request_url.netloc,
        'rand': ''.join(random.choice(string.ascii_lowercase) for x in range(5))
    }

    if request.is_ajax():
        return JsonResponse({'status': status, 'template': render_to_string(
            'account/login/login_form.html', context, context_instance=RequestContext(request))})
    return TemplateResponse(request, 'account/login/login_container.html', context)