mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 00:07:02 -04:00
108536366: Implement register flow
Includes validation for gov.uk email address, mobile number with +44, password at least 10 char. Form validation errors will be added to template in a later story. User is created when form validates.
This commit is contained in:
33
app/main/views/register.py
Normal file
33
app/main/views/register.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from datetime import datetime
|
||||
|
||||
from flask import render_template, redirect, jsonify
|
||||
|
||||
from app.main import main
|
||||
from app.main.dao import users_dao
|
||||
from app.main.forms import RegisterUserForm
|
||||
from app.models import User
|
||||
|
||||
|
||||
@main.route("/register", methods=['GET'])
|
||||
def render_register():
|
||||
return render_template('register.html', form=RegisterUserForm())
|
||||
|
||||
|
||||
@main.route('/register', methods=['POST'])
|
||||
def process_register():
|
||||
form = RegisterUserForm()
|
||||
|
||||
if form.validate_on_submit():
|
||||
user = User(name=form.name.data,
|
||||
email_address=form.email_address.data,
|
||||
mobile_number=form.mobile_number.data,
|
||||
password=form.password.data,
|
||||
created_at=datetime.now(),
|
||||
role_id=1)
|
||||
try:
|
||||
users_dao.insert_user(user)
|
||||
return redirect('/two-factor')
|
||||
except Exception as e:
|
||||
return jsonify(database_error=e.message), 400
|
||||
else:
|
||||
return jsonify(form.errors), 400
|
||||
Reference in New Issue
Block a user