25 lines
1004 B
Python
25 lines
1004 B
Python
from __future__ import annotations
|
|
|
|
from flask_wtf import FlaskForm
|
|
from wtforms import FileField, StringField, SubmitField, TextAreaField
|
|
from wtforms.validators import DataRequired, Length, ValidationError
|
|
|
|
from app.models import Person
|
|
|
|
|
|
class PersonForm(FlaskForm):
|
|
full_name = StringField("Full name", validators=[DataRequired(), Length(max=160)])
|
|
employee_id = StringField("Employee ID", validators=[DataRequired(), Length(max=80)])
|
|
notes = TextAreaField("Notes", validators=[Length(max=2000)])
|
|
photo_1 = FileField("Reference photo 1")
|
|
photo_2 = FileField("Reference photo 2")
|
|
photo_3 = FileField("Reference photo 3")
|
|
photo_4 = FileField("Reference photo 4")
|
|
submit = SubmitField("Enroll person")
|
|
|
|
def validate_employee_id(self, field) -> None:
|
|
employee_id = field.data.strip()
|
|
if Person.query.filter_by(employee_id=employee_id).first():
|
|
raise ValidationError("That employee ID is already enrolled.")
|
|
field.data = employee_id
|