flask_crud_app/routes/create.py

31 lines
1.1 KiB
Python

from flask import Blueprint, request, render_template, redirect
from models import Asset, db
addasset_bp = Blueprint('addasset', __name__)
@addasset_bp.route('/create/', methods=['GET', 'POST'])
def create():
if request.method == 'GET':
return render_template('create.html')
if request.method == 'POST':
assettag = request.form['assettag']
hostname = request.form['hostname']
warrantyfrom = request.form['warrantyfrom']
status = request.form['status']
try:
staffnum = int(request.form['staffnum'])
except ValueError:
return render_template('create.html', exc='staffnum')
item = Asset(assettag=assettag, hostname=hostname, warrantyfrom=warrantyfrom, status=status, staffnum=staffnum)
try:
db.session.add(item)
db.session.commit()
except exc.IntegrityError:
return render_template('create.html', exc='integrity')
except exc.StatementError:
return render_template('create.html', exc='status')
return redirect('/viewall')