Exemplo n.º 1
0
 def test_form_validation_for_blank_password(self):
     form = LoginForm(data={'username': '******', 'password': ''})
     self.assertFalse(form.is_valid())
     self.assertEqual(
         form.errors['password'],
         ['You forgot your password']
     )
Exemplo n.º 2
0
 def test_form_validation_for_blank_username(self):
     form = LoginForm(data={'username': '', 'password': '******'})
     self.assertFalse(form.is_valid())
     self.assertEqual(
         form.errors['username'],
         ["You can't have an empty username"]
     )
Exemplo n.º 3
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if form.email.data == '*****@*****.**' and form.password.data == 'password':
            flash('You have been logged in!', 'success')
            return redirect(url_for('home'))
        else:
            flash('Login Unsuccessful. Please check username and password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
Exemplo n.º 4
0
def login(request):
    create_account_form = CreateAccountForm(
    )  # Tab needs to show Create Account Form
    password_incorrect = False
    if (request.method) == 'GET':
        form = LoginForm()
    else:
        form = LoginForm(request.POST)
        if form.is_valid():
            try:
                user_value = FarmOwner.objects.get(
                    username=form.cleaned_data['username']
                )  # Get db row with username in it
                if form.cleaned_data[
                        'password'] == user_value.password:  # If the password is in the row, logged-in
                    cache.add('logged_in', user_value.userId)
                    return redirect('/logged-in/')
                else:
                    form = LoginForm()
                    password_incorrect = True
            except:
                form = LoginForm()
                password_incorrect = True

    return render(
        request, 'homepage/login-page.html', {
            'loginForm': form,
            'createAccountForm': create_account_form,
            'password_incorrect': password_incorrect
        })
Exemplo n.º 5
0
 def test_correct_login(self):
     '''Tests form validity when given the correct credentials.
 
     Keyword arguments:
     self -- the TestLoginForm object
     '''
     user_login = LoginForm(data={
         'username': '******',
         'password': '******'
     })
     self.assertTrue(user_login.is_valid())
Exemplo n.º 6
0
def login_view(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request, username = data.get("username"), password=data.get("password"))
            if user:
                login(request, user)
                return HttpResponseRedirect(request.GET.get('next', reverse("home")))

    form = LoginForm()
    return render (request,  "generic_form.html", {"form": form} )
Exemplo n.º 7
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request,
                                username=data.get('username'),
                                password=data.get('password'))
            if user:
                login(request, user)
                return HttpResponseRedirect(reverse('homepage'))
    form = LoginForm()
    return render(request, 'forms.html', {'form': form})
Exemplo n.º 8
0
def loginview(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            user = authenticate(username=request.POST["username"], password=request.POST["password"])
            if user is not None:
                login(request, user)
                return redirect("/")
            else:
                return render(request, "login.html", {"form": form, "categories": ""})
    else:
        form = LoginForm()
    return render(request, "login.html", {"form": form, "categories": ""})
Exemplo n.º 9
0
def loginview(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request,
                                username=data['username'],
                                password=data['password'])
            if user:
                login(request, user)
                return HttpResponseRedirect(
                    request.GET.get('next', reverse('homepage')))
    form = LoginForm()
    return render(request, 'generic_form.html', {'form': form})
Exemplo n.º 10
0
def login_view(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            check_user = authenticate(request,
                                      username=data.get('username'),
                                      password=data.get('password'))
            if check_user:
                login(request, check_user)
                return HttpResponseRedirect(reverse('homepage'))
                # return HttpResponseRedirect(request.GET.get( 'next',reverse('homepage')))

    form = LoginForm()
    return render(request, 'generic_form.html', {
        'form': form,
        'login': '******'
    })
Exemplo n.º 11
0
 def test_incorrect_login(self):
     '''Tests the expected form error and the number of errors present when given incorrect credentials.
 
     Keyword arguments:
     self -- the TestLoginForm object
     '''
     user_login = LoginForm(data={
         'username': '******',
         'password': '******'
     })
     num_errors = self._get_num_errors(user_login)
     form_error = user_login.errors.as_data()['__all__'][0].message
     self.assertTrue(form_error == "Your username OR password is incorrect"
                     and num_errors == 1)
Exemplo n.º 12
0
def log_in(request):
    # Login session cookies cleared for login, 'request.session.modified = True' saves it
    request.session['username'] = {}
    request.session['password'] = {}
    request.session.modified = True

    if request.method == 'GET':
        return render(request, 'login.html', {'form': LoginForm()})
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            # Clean form data and check that the username password pair is valid
            cd = form.cleaned_data
            cd['username'] = cd['username'].lower()
            user = authenticate(username=cd['username'],
                                password=cd['password'])
            if user is not None:
                if user.profile.expired():
                    # Store username and password as cookies temporarily for two-factor
                    request.session['username'] = cd['username']
                    request.session['password'] = cd['password']
                    user.profile.new_key()
                    return render(request,
                                  'authenticate.html',
                                  {'form': AuthenticateForm()},
                                  status=200)
                else:
                    login(request, user)
                    return redirect('/homepage/')
            else:
                return render(request,
                              'login.html', {
                                  'form': LoginForm(),
                                  'failed_login': True
                              },
                              status=401)
Exemplo n.º 13
0
def createAccount(request):
    login_form = LoginForm()
    if request.method == 'POST':
        form = CreateAccountForm(request.POST)
        if form.is_valid():
            form.save()
            response = redirect('/logged-in/')
            return response
    else:
        form = CreateAccountForm()

    return render(request, 'homepage/login-page.html', {
        'createAccountForm': form,
        'loginForm': login_form
    })
Exemplo n.º 14
0
 def test_unathenticated_user(self):
     '''Tests the expected form error and the number of errors present when given credentials to an unauthenticated user.
 
     Keyword arguments:
     self -- the TestLoginForm object
     '''
     user_login = LoginForm(data={
         'username': '******',
         'password': '******'
     })
     num_errors = self._get_num_errors(user_login)
     form_error = user_login.errors.as_data()['__all__'][0].message
     self.assertTrue(
         form_error ==
         "Your account is not authenticated, please click the link in your email"
         and num_errors == 1)
Exemplo n.º 15
0
 def test_valid_form(self):
     form_data = {'username': '******', 'password': '******'}
     form = LoginForm(data=form_data)
     self.assertTrue(form.is_valid())
Exemplo n.º 16
0
 def test_form_renders_item_text_input(self):
     form = LoginForm()
     self.fail(form.as_p())
Exemplo n.º 17
0
 def test_missing_password(self):
     form_data = {'username': '******'}
     form = LoginForm(data=form_data)
     self.assertFalse(form.is_valid())
Exemplo n.º 18
0
 def test_missing_username(self):
     form_data = {'password': '******'}
     form = LoginForm(data=form_data)
     self.assertFalse(form.is_valid())
Exemplo n.º 19
0
 def test_empty_fields(self):
     form_data = {}
     form = LoginForm(data=form_data)
     self.assertFalse(form.is_valid())
Exemplo n.º 20
0
 def test_form_input_has_placeholder(self):
     form = LoginForm()
     self.assertIn('placeholder="Enter your name"', form.as_p())
     self.assertIn('placeholder="Enter your password"', form.as_p())
Exemplo n.º 21
0
def log_out(request):
    logout(request)
    return render(request, 'login.html', {
        'form': LoginForm(),
        'logged_out': True
    })