def test_missing_password_form(self): data = { 'username': '******', 'password': '', 'remember': True } form = LoginForm(data=data) self.assertFalse(form.is_valid())
def test_missing_password_form(self): data = { 'username': '******', 'password': '', 'remember': True } form = LoginForm(data=data) self.assertFalse(form.is_valid())
def test_valid_login_form(self): data = { 'username': '******', 'password': '******', 'remember': True } form = LoginForm(data=data) self.assertTrue(form.is_valid())
def test_valid_login_form(self): data = { 'username': '******', 'password': '******', 'remember': True } form = LoginForm(data=data) self.assertTrue(form.is_valid())
def test_missing_password_form(self): data = {"username": "******", "password": "", "remember": True} form = LoginForm(data=data) self.assertFalse(form.is_valid())
def test_valid_login_form(self): data = {"username": "******", "password": "******", "remember": True} form = LoginForm(data=data) self.assertTrue(form.is_valid())
def login_view(request): """Logs user in.""" next_page = request.GET.get('next', '/') if next_page in [reverse('member-login'), reverse('register-member'), reverse('member-logout')]: next_page = '/' csrf_tk = {'next_page': next_page} csrf_tk.update(csrf(request)) error = False if request.method != 'POST': form = LoginForm() else: form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] password = form.cleaned_data['password'] user = authenticate(username=username, password=password) if user is None: initial = {'username': username} if User.objects.filter(username=username).exists(): messages.error( request, _( 'Le mot de passe saisi est incorrect. ' 'Cliquez sur le lien « Mot de passe oublié ? » ' 'si vous ne vous en souvenez plus.' ) ) else: messages.error( request, _( 'Ce nom d’utilisateur est inconnu. ' 'Si vous ne possédez pas de compte, ' 'vous pouvez vous inscrire.' ) ) form = LoginForm(initial=initial) if next_page is not None: form.helper.form_action += '?next=' + next_page csrf_tk['error'] = error csrf_tk['form'] = form return render(request, 'member/login.html', { 'form': form, 'csrf_tk': csrf_tk }) profile = get_object_or_404(Profile, user=user) if not user.is_active: messages.error( request, _( 'Vous n\'avez pas encore activé votre compte, ' 'vous devez le faire pour pouvoir vous ' 'connecter sur le site. Regardez dans vos ' 'mails : {}.' ).format(user.email) ) elif not profile.can_read_now(): messages.error( request, _( 'Vous n\'êtes pas autorisé à vous connecter ' 'sur le site, vous avez été banni par un ' 'modérateur.' ) ) else: login(request, user) request.session['get_token'] = generate_token() if 'remember' not in request.POST: request.session.set_expiry(0) profile.last_ip_address = get_client_ip(request) profile.save() # Redirect the user if needed. # Set the cookie for Clem smileys. # (For people switching account or clearing cookies # after a browser session.) try: response = redirect(resolve(next_page).url_name) except NoReverseMatch: response = redirect(next_page) except Resolver404: response = redirect(reverse('homepage')) set_old_smileys_cookie(response, profile) return response if next_page is not None: form.helper.form_action += '?next=' + next_page csrf_tk['error'] = error csrf_tk['form'] = form return render(request, 'member/login.html', { 'form': form, 'csrf_tk': csrf_tk })
def test_missing_password_form(self): data = {"username": "******", "password": "", "remember": True} form = LoginForm(data=data) self.assertFalse(form.is_valid())
def test_valid_login_form(self): data = {"username": "******", "password": "******", "remember": True} form = LoginForm(data=data) self.assertTrue(form.is_valid())
def login_view(request): """Logs user in.""" next_page = request.GET.get("next", "/") if next_page in [ reverse("member-login"), reverse("register-member"), reverse("member-logout") ]: next_page = "/" csrf_tk = {"next_page": next_page} csrf_tk.update(csrf(request)) error = False if request.method != "POST": form = LoginForm() else: form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data["username"] password = form.cleaned_data["password"] user = authenticate(username=username, password=password) if user is None: initial = {"username": username} if User.objects.filter(username=username).exists(): messages.error( request, _("Le mot de passe saisi est incorrect. " "Cliquez sur le lien « Mot de passe oublié ? » " "si vous ne vous en souvenez plus."), ) else: messages.error( request, _("Ce nom d’utilisateur est inconnu. " "Si vous ne possédez pas de compte, " "vous pouvez vous inscrire."), ) form = LoginForm(initial=initial) if next_page is not None: form.helper.form_action += "?next=" + next_page csrf_tk["error"] = error csrf_tk["form"] = form return render(request, "member/login.html", { "form": form, "csrf_tk": csrf_tk }) profile = get_object_or_404(Profile, user=user) if not user.is_active: messages.error( request, _("Vous n'avez pas encore activé votre compte, " "vous devez le faire pour pouvoir vous " "connecter sur le site. Regardez dans vos " "mails : {}.").format(user.email), ) elif not profile.can_read_now(): messages.error( request, _("Vous n'êtes pas autorisé à vous connecter " "sur le site, vous avez été banni par un " "modérateur."), ) else: login(request, user) request.session["get_token"] = generate_token() if "remember" not in request.POST: request.session.set_expiry(0) profile.last_ip_address = get_client_ip(request) profile.save() # Redirect the user if needed. # Set the cookie for Clem smileys. # (For people switching account or clearing cookies # after a browser session.) try: response = redirect(resolve(next_page).url_name) except NoReverseMatch: response = redirect(next_page) except Resolver404: response = redirect(reverse("homepage")) return response if next_page is not None: form.helper.form_action += "?next=" + next_page csrf_tk["error"] = error csrf_tk["form"] = form return render(request, "member/login.html", { "form": form, "csrf_tk": csrf_tk, "next_page": next_page })