summaryrefslogtreecommitdiff
path: root/app.py
diff options
context:
space:
mode:
authorAnson Bridges <bridges.anson@gmail.com>2026-04-03 16:26:39 -0700
committerAnson Bridges <bridges.anson@gmail.com>2026-04-03 16:26:39 -0700
commit97ccdd6fedaec5b0547d7a7e138f30a3389b845a (patch)
treead6a85a52bac6558547f0db028a2c80d9ffded4f /app.py
parentdc5096c18c6b98f410fd769f989c5404de44ba71 (diff)
register page
Diffstat (limited to 'app.py')
-rw-r--r--app.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/app.py b/app.py
index d6531c0..6af1163 100644
--- a/app.py
+++ b/app.py
@@ -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():