hack-wpi-python/goathacks/registration/__init__.py
2022-12-05 17:29:48 -05:00

45 lines
1.4 KiB
Python

from datetime import datetime
from flask import Blueprint, flash, render_template, request
import flask_login
from flask_login import current_user
from goathacks.registration.forms import LoginForm, RegisterForm
from werkzeug.security import generate_password_hash
from goathacks import db
from goathacks.models import User
bp = Blueprint('registration', __name__, url_prefix="/registration")
@bp.route("/")
def register():
if current_user.is_authenticated:
flash("You are already registered and logged in!")
form = RegisterForm(request.form)
if request.method == 'POST' and form.validate():
email = request.form.get('email')
first_name = request.form.get('first_name')
last_name = request.form.get('last_name')
password = request.form.get('password')
password_c = request.form.get('password_confirm')
if password == password_c:
# Passwords match!
user = User(
email=email,
password=generate_password_hash(password),
first_name=first_name,
last_name=last_name,
last_login=datetime.now(),
)
db.session.add(user)
db.session.commit()
flask_login.login_user(user)
return "OK"
else:
flash("Passwords do not match")
return render_template("register.html", form=form)