diff options
| author | Anson Bridges <bridges.anson@gmail.com> | 2026-04-03 16:26:39 -0700 |
|---|---|---|
| committer | Anson Bridges <bridges.anson@gmail.com> | 2026-04-03 16:26:39 -0700 |
| commit | 97ccdd6fedaec5b0547d7a7e138f30a3389b845a (patch) | |
| tree | ad6a85a52bac6558547f0db028a2c80d9ffded4f /app.py | |
| parent | dc5096c18c6b98f410fd769f989c5404de44ba71 (diff) | |
register page
Diffstat (limited to 'app.py')
| -rw-r--r-- | app.py | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -405,6 +405,38 @@ def login(): return render_template('login.html') +@app.route('/register', methods=['GET', 'POST']) +def register(): + if request.method == 'POST': + username = request.form['username'] + password = request.form['password'] + team_name = request.form['team_name'] + + conn = get_db() + c = conn.cursor() + + try: + c.execute(''' + INSERT INTO Users (username, password_hash, team_name) + VALUES (?, ?, ?) + ''', (username, generate_password_hash(password), team_name)) + conn.commit() + + # Auto-login after registration + c.execute('SELECT * FROM Users WHERE username = ?', (username,)) + user_row = c.fetchone() + user = User(user_row['id'], user_row['username'], user_row['is_admin'], user_row['team_name'], user_row['team_icon']) + login_user(user) + + flash('Account created and logged in!') + return redirect(url_for('index')) + except sqlite3.IntegrityError: + flash('Username already exists.') + finally: + conn.close() + + return render_template('register.html') + @app.route('/logout') @login_required def logout(): |
