reg: Initial work on registration
This commit is contained in:
parent
8cf72b1065
commit
fecb0e08ab
6 changed files with 43 additions and 0 deletions
|
@ -19,4 +19,8 @@ def create_app():
|
|||
|
||||
from .models import User
|
||||
|
||||
from . import registration
|
||||
|
||||
app.register_blueprint(registration.bp)
|
||||
|
||||
return app
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
from flask import flash, redirect, url_for
|
||||
from flask_login import UserMixin
|
||||
from sqlalchemy import Boolean, Column, DateTime, Integer, String
|
||||
from . import db
|
||||
from . import login
|
||||
|
||||
class User(db.Model, UserMixin):
|
||||
id = Column(Integer, primary_key=True)
|
||||
|
@ -11,3 +13,13 @@ class User(db.Model, UserMixin):
|
|||
last_login = Column(DateTime, nullable=False)
|
||||
active = Column(Boolean, nullable=False, default=True)
|
||||
is_admin = Column(Boolean, nullable=False, default=False)
|
||||
|
||||
|
||||
@login.user_loader
|
||||
def user_loader(user_id):
|
||||
return User.query.filter_by(id=user_id).first()
|
||||
|
||||
@login.unauthorized_handler
|
||||
def unauth():
|
||||
flash("Please login first")
|
||||
return redirect(url_for("registration.register"))
|
||||
|
|
12
goathacks/registration/__init__.py
Normal file
12
goathacks/registration/__init__.py
Normal file
|
@ -0,0 +1,12 @@
|
|||
from flask import Blueprint, flash
|
||||
from flask_login import current_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!")
|
||||
|
||||
|
13
goathacks/registration/forms.py
Normal file
13
goathacks/registration/forms.py
Normal file
|
@ -0,0 +1,13 @@
|
|||
from flask_wtf import FlaskForm
|
||||
from wtforms import PasswordField, StringField
|
||||
from wtforms.validators import DataRequired
|
||||
|
||||
class RegisterForm(FlaskForm):
|
||||
email = StringField("Email", validators=[DataRequired()])
|
||||
first_name = StringField("Preferred First Name",
|
||||
validators=[DataRequired()])
|
||||
last_name = StringField("Last Name", validators=[DataRequired()])
|
||||
password = PasswordField("Password", validators=[DataRequired()])
|
||||
password_confirm = PasswordField("Confirm Password",
|
||||
validators=[DataRequired()])
|
||||
|
0
goathacks/templates/.gitkeep
Normal file
0
goathacks/templates/.gitkeep
Normal file
|
@ -4,6 +4,7 @@ Flask==2.2.2
|
|||
Flask-Login==0.6.2
|
||||
Flask-Migrate==4.0.0
|
||||
Flask-SQLAlchemy==3.0.2
|
||||
Flask-WTF==1.0.1
|
||||
greenlet==2.0.1
|
||||
itsdangerous==2.1.2
|
||||
Jinja2==3.1.2
|
||||
|
@ -17,3 +18,4 @@ python-dotenv==0.21.0
|
|||
SQLAlchemy==1.4.44
|
||||
uWSGI==2.0.21
|
||||
Werkzeug==2.2.2
|
||||
WTForms==3.0.1
|
||||
|
|
Loading…
Add table
Reference in a new issue