covid-formity/formity/views.py

26 lines
859 B
Python

from flask import Blueprint, render_template, flash, request
from formity.extensions import db
from formity.models import FaceshieldRequest
from formity.forms import FaceshieldRequestForm
bp = Blueprint('main', __name__)
@bp.route('/', methods=['GET', 'POST'])
def index():
form = FaceshieldRequestForm()
if form.validate_on_submit():
fr = FaceshieldRequest(**{
k: v
for k, v in form.data.items()
if hasattr(FaceshieldRequest, k)
})
fr.ua = request.headers.get('User-Agent')
fr.ip = request.remote_addr
db.session.add(fr)
db.session.commit()
request_id = 'Z/{:02d}{:02d}/{}'.format(fr.created.month, fr.created.day, fr.id)
return render_template('thanks.html', form=form, request_id=request_id)
return render_template('index.html', form=form)