def teacher_login(): form = LoginForm() if form.validate_on_submit(): teacher = Teacher.authenticate(form.username.data, form.password.data) if teacher: login(teacher) flash(f"Welcome {teacher.first_name}!", "good") return redirect(f"/teacher/{teacher.id}") flash("Invalid username or password", "bad") return render_template("login/teacher-login.html", form=form)
def authenticate_teacher(): """Authenticate login from then redirects to their profile, returns error message for failed authentication, returns flash message for form not completed""" form = LoginForm() if form.validate_on_submit(): usr = form.username.data pwd = form.password.data teacher = Teacher.authenticate(usr, pwd) if teacher: session["username"] = teacher.username return redirect(f"/teacher/{teacher.id}/home") else: form.username.errors = [ "Login failed, please check your username and password" ] return redirect("/login-teacher") else: flash("Please enter your username and password", "danger") return redirect("/login-teacher")
def test_failed_user_authentication(self): auth_obj = Teacher.authenticate('TESTUSER', 'foo') self.assertEqual(auth_obj, False)
def test_guardian_authentication(self): auth_obj = Teacher.authenticate(self.tch.username, self.tch.password) self.assertEqual(auth_obj, self.reg_obj)