diff --git a/goathacks/registration/__init__.py b/goathacks/registration/__init__.py
index 00ba6a7..bccafdb 100644
--- a/goathacks/registration/__init__.py
+++ b/goathacks/registration/__init__.py
@@ -1,6 +1,12 @@
-from flask import Blueprint, flash
+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")
@@ -9,4 +15,31 @@ 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)
diff --git a/goathacks/registration/forms.py b/goathacks/registration/forms.py
index 58eb50e..08f7fd1 100644
--- a/goathacks/registration/forms.py
+++ b/goathacks/registration/forms.py
@@ -1,5 +1,5 @@
from flask_wtf import FlaskForm
-from wtforms import PasswordField, StringField
+from wtforms import BooleanField, PasswordField, StringField, SubmitField
from wtforms.validators import DataRequired
class RegisterForm(FlaskForm):
@@ -10,4 +10,11 @@ class RegisterForm(FlaskForm):
password = PasswordField("Password", validators=[DataRequired()])
password_confirm = PasswordField("Confirm Password",
validators=[DataRequired()])
+ agree_coc = BooleanField("I confirm that I have read and agree to the Code of Conduct", validators=[DataRequired()])
+ submit = SubmitField("Register")
+
+class LoginForm(FlaskForm):
+ email = StringField("Email", validators=[DataRequired()])
+ password = PasswordField("Password", validators=[DataRequired()])
+ submit = SubmitField("Sign in")
diff --git a/goathacks/templates/admin.html b/goathacks/templates/admin.html
new file mode 100644
index 0000000..0d9c36b
--- /dev/null
+++ b/goathacks/templates/admin.html
@@ -0,0 +1,279 @@
+
+
+
+
+ Hack @ WPI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+