diff --git a/app.py b/app.py index c9ff0d9..581bb65 100644 --- a/app.py +++ b/app.py @@ -201,22 +201,26 @@ def login(): if user and check_password_hash(user.password, request.form.get("password")): login_user(user) return redirect(url_for("dashboard")) - flash("Invalid credentials") + flash("Invalid credentials",'error') return render_template("login.html") @app.route("/register", methods=["GET", "POST"]) def register(): - if request.method == "POST": - new_user = User( - username=request.form.get("username"), - password=generate_password_hash( - request.form.get("password"), method="pbkdf2:sha256" - ), - ) + if request.method == 'POST': + username = request.form.get('username') + password = request.form.get('password') + + existing_user = User.query.filter_by(username=username).first() + + if existing_user: + flash('That username is already taken. Please choose a different one.', 'error') + return redirect(url_for('register')) + + new_user = User(username=username, password=generate_password_hash(password)) db.session.add(new_user) db.session.commit() - return redirect(url_for("/")) + return redirect(url_for("dashboard")) return render_template("register.html") diff --git a/templates/base.html b/templates/base.html index 6958a1f..786ba58 100644 --- a/templates/base.html +++ b/templates/base.html @@ -55,12 +55,11 @@ Dashboard