diff --git a/aula/Login/routes.py b/aula/Login/routes.py index 10d6780..7b8ea8a 100644 --- a/aula/Login/routes.py +++ b/aula/Login/routes.py @@ -3,7 +3,7 @@ from flask_login import current_user, login_user from aula import bcrypt from aula.forms import UserLoginForm -from aula.models import select_users +from aula.models import select_users_by_email Login = Blueprint('Login', __name__) @@ -29,7 +29,7 @@ def login(): form = UserLoginForm() # Først bekræft, at inputtet fra formen er gyldigt... (f.eks. ikke tomt) if form.validate_on_submit(): - user = select_users(form.user_id.data) + user = select_users_by_email(form.email.data) # Derefter tjek om hashet af adgangskoden passer med det fra databasen... if user != None and bcrypt.check_password_hash(user[3], form.password.data): login_user(user, remember=form.remember.data) diff --git a/aula/forms.py b/aula/forms.py index aeb52b0..7b6697c 100644 --- a/aula/forms.py +++ b/aula/forms.py @@ -5,13 +5,13 @@ from wtforms.validators import DataRequired, Length class AddUserForm(FlaskForm): username = StringField('Username', validators=[DataRequired(), Length(min=2, max=20)]) - user_id = IntegerField('user_id', + email = StringField('Email', validators=[DataRequired()]) password = PasswordField('Password', validators=[DataRequired()]) submit = SubmitField('Add') class UserLoginForm(FlaskForm): - user_id = IntegerField('user_id', validators=[DataRequired()]) + email = StringField('Email', validators=[DataRequired()]) password = PasswordField('Password', validators=[DataRequired()]) remember = BooleanField('Remember Me') submit = SubmitField('Login') diff --git a/aula/models.py b/aula/models.py index adb9fdb..e2eb9ed 100644 --- a/aula/models.py +++ b/aula/models.py @@ -15,7 +15,7 @@ def load_user(user_id): WHERE {} = %s """).format(sql.Identifier(schema), sql.Identifier(_id)) - cur.execute(user_sql, (int(user_id),)) + cur.execute(user_sql, (user_id,)) if cur.rowcount > 0: User(cur.fetchone()) else: @@ -79,7 +79,7 @@ def insert_users(user_id, first_name, last_name, password, email, adresse, role) conn.commit() cur.close() -def select_users(user_id): +def select_users_by_id(user_id): cur = conn.cursor() sql_call = """ SELECT * FROM users @@ -89,3 +89,14 @@ def select_users(user_id): user = User(cur.fetchone()) if cur.rowcount > 0 else None cur.close() return user + +def select_users_by_email(email): + cur = conn.cursor() + sql_call = """ + SELECT * FROM users + WHERE email = %s + """ + cur.execute(sql_call, (email,)) + user = User(cur.fetchone()) if cur.rowcount > 0 else None + cur.close() + return user diff --git a/aula/templates/login.html b/aula/templates/login.html index 876435b..9402db1 100644 --- a/aula/templates/login.html +++ b/aula/templates/login.html @@ -6,16 +6,16 @@