diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/app.py | 1 | ||||
| -rw-r--r-- | app/routes/user.py | 41 |
2 files changed, 23 insertions, 19 deletions
@@ -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")) |
