from flask_wtf import FlaskForm from wtforms import ( SubmitField, SelectField, HiddenField, StringField, PasswordField, IntegerField, FloatField, BooleanField, DateTimeField, ) from wtforms.validators import InputRequired, Length, NumberRange from ...models import FertiLog class AddFertiLog(FlaskForm): nno3 = FloatField("NNO3", default=0) p = FloatField("P", default=0) k = FloatField("K", default=0) ca = FloatField("Ca", default=0) mg = FloatField("Mg", default=0) s = FloatField("S", default=0) na = FloatField("Na", default=0) cl = FloatField("Cl", default=0) fe = FloatField("Fe", default=0) zn = FloatField("Zn", default=0) b = FloatField("B", default=0) mn = FloatField("Mn", default=0) cu = FloatField("Cu", default=0) mo = FloatField("Mo", default=0) si = FloatField("Si", default=0) nnh4 = FloatField("NNH4", default=0) submit = SubmitField("Add/Update Log") class AddFertiTarget(AddFertiLog): target_id = SelectField( "Target log", choices=[], validators=[InputRequired()], ) submit = SubmitField("Add target") def __init__(self, **kwargs): super().__init__() self.target_id.choices = [ (target.primary_key, target.date_time_created) for target in FertiLog.query.all() ]