From ddcb213051bf3f7ff58b972bf4a6fab49526ccd2 Mon Sep 17 00:00:00 2001 From: FivePixels Date: Fri, 18 Nov 2022 09:29:26 -0600 Subject: Add config to allow registrations --- app/app.py | 1 + app/routes/user.py | 41 ++++++++++++++++++++++------------------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/app/app.py b/app/app.py index 0738bc6..0584669 100644 --- a/app/app.py +++ b/app/app.py @@ -8,6 +8,7 @@ app.config["TEMPLATES_AUTO_RELOAD"] = True app.config["SECRET_KEY"] = "super duper secret" # FIXME: do not use in prod app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///../strengthy.db" app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False +app.config["ALLOW_REGISTER"] = True # Setup flask-login login_manager = LoginManager(app) diff --git a/app/routes/user.py b/app/routes/user.py index 7044366..f56f81b 100644 --- a/app/routes/user.py +++ b/app/routes/user.py @@ -34,22 +34,25 @@ def logout(): @app.route("/register", methods=["GET", "POST"]) def register(): - form = RegisterForm() - # Load data from form - username = form.username.data - password = form.password.data - email = form.email.data - - if form.validate_on_submit(): - # Valid submission - user = User.query.filter_by(username=username).first() - if not user: - # No user with this username - user = User(username, password, email) - db.session.add(user) - db.session.commit() - return redirect(url_for("login")) - else: - flash("User already exists", "danger") - - return render_template("user/register.html", form=form) + if (app.config["ALLOW_REGISTER"]): + form = RegisterForm() + # Load data from form + username = form.username.data + password = form.password.data + email = form.email.data + + if form.validate_on_submit(): + # Valid submission + user = User.query.filter_by(username=username).first() + if not user: + # No user with this username + user = User(username, password, email) + db.session.add(user) + db.session.commit() + return redirect(url_for("login")) + else: + flash("User already exists", "danger") + + return render_template("user/register.html", form=form) + else: + return redirect(url_for("index")) -- cgit v1.2.3