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')