def login(request):
    """
    If login credentials are authenticated,
    redirect to Index and show success message.
    If not, user is not authenticated and show
    message with invalid username or password.
    Customer needs to login to procced to checkout,
    add 'next' page as checkout.
    """
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == "POST":
        login_form = LoginForm(request.POST)

        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])
            messages.success(request, "You are now logged in!")

            if user:
                auth.login(user=user, request=request)

                if request.GET and request.GET['next'] != '/?next=/checkout/':
                    next = request.GET['next']
                    return HttpResponseRedirect(next)
                else:
                    return redirect(reverse('index'))
            else:
                login_form.add_error(None,
                                     "Your username or password is not right")
    else:
        login_form = LoginForm()
    return render(request, 'login.html', {'login_form': login_form})
Beispiel #2
0
def login(request):
    login_page = "active"
    if request.user.is_authenticated:
        return redirect(reverse('profile'))

    # If user successfully logs in, redirect them to their profile page, otherwise back to login screen
    if request.method == "POST":
        login_form = LoginForm(request.POST)

        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])

            if user:
                auth.login(user=user, request=request)
                messages.success(request, "You have been logged in")
                return redirect(reverse('profile'))
            else:
                login_form.add_error(None,
                                     "The username or password is incorrect")

    else:
        login_form = LoginForm()

    return render(request, 'login.html', {
        "login_form": login_form,
        'login_page': login_page
    })
Beispiel #3
0
def login_view(request):
    if request.method == 'POST':
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            username = login_form.cleaned_data['username']
            password = login_form.cleaned_data['password']

            user = authenticate(username=username, password=password)
            if user:
                # 이메일인증 smtp
                return login_and_redirect_next(request, user)
            else:
                num = 0
                for person in User.objects.all():
                    if person.username == username:
                        num = num + 1
                if num != 1:
                    login_form.add_error(None, '해당 이메일로 가입된 정보가 없습니다.')
                else:
                    login_form.add_error(None, '비밀번호가 일치하지 않습니다.')
    else:
        login_form = LoginForm()

    context = {
        'login_form': login_form,
    }
    return render(request, 'accounts/login.html', context)
    def post(self, request):
        if request.user.is_authenticated:
            if request.user.is_staff:
                return redirect('ecommerce:dashboard')
            return redirect('ecommerce:index')

        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            user = authenticate(
                request,
                username=login_form.cleaned_data.get('username'),
                password=login_form.cleaned_data.get('password'))
            if user:
                login(request, user)
                if request.GET.get('next', None):
                    return redirect(request.GET.get('next'))
                if request.user.is_superuser:
                    return redirect('ecommerce:dashboard')
                if request.user.is_staff:
                    return redirect('ecommerce:dashboard-products')
                return redirect('ecommerce:index')
            else:
                user = User.objects.filter(
                    username=login_form.cleaned_data.get('username'))
                if user.exists():
                    user = user.first()
                    if not user.is_active:
                        login_form.add_error(
                            None,
                            _("Your account isn't activated, an admin will activate it soon."
                              ))
                else:
                    login_form.add_error(None, _('Invalid username/password'))
                context = dict(login_form=login_form)
                return render(request, self.template_name, context)
def login(request):
    """
    Log in page for users
    """
    if request.user.is_authenticated:
        return redirect(reverse("books"))

    if request.method == "POST":
        login_form = LoginForm(request.POST)

        if login_form.is_valid():
            user = auth.authenticate(username=request.POST["username"],
                                     password=request.POST["password"])

            if user:
                auth.login(user=user, request=request)
                messages.success(request, "You are now signed in!")
                return redirect(reverse("books"))
            else:
                login_form.add_error(None, "Incorrect username or password")

    else:
        login_form = LoginForm()

    return render(request, "login.html", {"login_form": login_form})
Beispiel #6
0
def login_user(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data["email"]
            password = form.cleaned_data["password"]
            user = authenticate(email=email, password=password)
            if user is not None:
                login(request, user)
                return redirect("/")
            else:
                form.add_error(field=None, error=INVALID_LOGIN_ERROR)
    else:
        form = LoginForm()

    return render(request, "accounts/login.html", {"form": form})
Beispiel #7
0
def login(request):
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])
            if user:
                auth.login(user=user, request=request)
                messages.success(request, "Successfully logged in")
                return redirect(reverse('index'))
            else:
                form.add_error(None, "Incorrect Login")
    else:
        form = LoginForm()
    return render(request, 'login.html', {"login_form": form})
Beispiel #8
0
def login(request):
    if request.method == 'POST':
        # 로그인 성공 후 이동할 URL. 주어지지 않으면 None
        next = request.GET.get('next')

        form = LoginForm(request=request, data=request.POST)
        if form.is_valid():
            user = form.get_user()
            # Django의 auth앱에서 제공하는 login함수를 실행해 앞으로의 요청/응답에 세션을 유지한다
            django_login(request, user)
            # next가 존재하면 해당 위치로, 없으면 Post목록 화면으로 이동
            return redirect(next if next else 'profile')
        # 인증에 실패하면 login_form에 non_field_error를 추가한다
        form.add_error(None, '아이디 또는 비밀번호가 올바르지 않습니다')
    else:
        form = LoginForm()
    return render(request, 'accounts/login_form.html', {'form': form})
Beispiel #9
0
def user_login(request):
    form = LoginForm()
    next = request.GET.get('next', 'dashboard')
    if request.method == 'POST':
        form = LoginForm(request.POST or None)
        if form.is_valid():
            account = authenticate(username=form.cleaned_data['email'],
                                   password=form.cleaned_data['password'])
            if account is not None:
                if account.is_active:
                    login(request, account)
                    response = redirect(next)
                    response = set_jwt_token(response, account)
                    return response
            else:
                form.add_error(None, 'Your email or password is incorrect.')
    return render(request, 'login.html', {'form': form, 'next': next})
def login(request):
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == 'POST':
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])
            if user:
                auth.login(user=user, request=request)
                messages.success(request, "You have successfully logged in!")
                return redirect(reverse('index'))
            else:
                login_form.add_error(None,
                                     "Your username or password is incorrect")
    else:
        login_form = LoginForm()  # creates an instance of the form
    return render(request, 'login.html', {'login_form': login_form})
Beispiel #11
0
    def post(self, request):
        form = LoginForm(data=request.POST)

        if form.is_valid():
            user = authenticate(username=request.POST.get('username'),
                                password=request.POST.get('password'))
            login(request, user)
            return redirect(settings.LOGIN_REDIRECT_URL)
        else:
            try:
                user = User.objects.get(username=request.POST.get('username'))
                if not user.is_active:
                    form.add_error('username', 'The user is not active.')
                    form.non_field_errors = form.error_class()
            except User.DoesNotExist:
                pass

            return render(request, 'accounts/login.html', {'form': form})
Beispiel #12
0
def login(request):
    """Return a login page"""
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == 'POST':
        login_form = LoginForm(request.POST)

        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])

            if user:
                auth.login(user=user, request=request)
                return redirect(reverse('index'))
            else:
                login_form.add_error(None,
                                     'Your username or password is incorrect')
    else:
        login_form = LoginForm()
    return render(request, 'login.html', {'login_form': login_form})
Beispiel #13
0
def login(request):
    if request.method == 'POST':
        login_form = LoginForm(
            request.POST)  # populate the form from what the user has keyed in
        if login_form.is_valid():
            # attempt to check the username and password is valid
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])
            messages.success(request, "You have successfully logged in")
            if user:
                # log in the user
                auth.login(user=user, request=request)
                return redirect(reverse('profile'))
            else:
                login_form.add_error(None, "Invalid username or password")
                return render(request, 'login.html', {'form': login_form})

    else:
        login_form = LoginForm()
        return render(request, 'login.html', {'form': login_form})
def login(request):
    """Log in User"""
    if request.user.is_authenticated:
        return redirect(reverse('products'))
    if request.method == "POST":
        login_form = LoginForm(request.POST)

        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])

            if user:
                auth.login(user=user, request=request)
                messages.success(request, '')
                return redirect(reverse('products'))
            else:
                login_form.add_error(None,
                                     "Username or password is not correct")
    else:
        login_form = LoginForm()
    return render(request, 'login.html', {"login_form": login_form})
Beispiel #15
0
def login(request):
    ''' Renders "login.html, allows user to log in" '''
    if request.user.is_authenticated:
        return redirect(reverse('index'))
    if request.method == 'POST':
        login_form = LoginForm(request.POST)

        if login_form.is_valid():
            user = auth.authenticate(username=request.POST['username'],
                                     password=request.POST['password'])

            if user:
                auth.login(user=user, request=request)
                messages.success(request, 'You have successfully logged in')
                return redirect(reverse('index'))
            else:
                login_form.add_error(None, 'An error occured')

    else:
        login_form = LoginForm()
    return render(request, 'login.html', {'login_form': login_form})
Beispiel #16
0
def login_view(request):
    if request.user.is_authenticated:
        return already_authenticated(request)

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

        if not form.is_valid():
            return render(request, 'accounts/login.html', {'form': form})

        username = form.cleaned_data['username']
        password = form.cleaned_data['password']

        user = authenticate(request, username=username, password=password)

        if user is None:
            form.add_error('password', "Wrong username or password!")
            return render(request, 'accounts/login.html', {'form': form})

        login(request, user)
        return redirect('accounts-home')
    else:
        form = LoginForm()
        return render(request, 'accounts/login.html', {'form': form})