summaryrefslogtreecommitdiff
path: root/app.py
diff options
context:
space:
mode:
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():