View raw

1 from flask_wtf import FlaskForm 2 from wtforms import ( 3 SubmitField, 4 SelectField, 5 HiddenField, 6 StringField, 7 PasswordField, 8 IntegerField, 9 FloatField, 10 BooleanField, 11 DateTimeField, 12 ) 13 from wtforms.validators import InputRequired, Length, NumberRange 14 15 from ...models import FertiLog 16 17 18 class AddFertiLog(FlaskForm): 19 nno3 = FloatField("NNO3", default=0) 20 p = FloatField("P", default=0) 21 k = FloatField("K", default=0) 22 ca = FloatField("Ca", default=0) 23 mg = FloatField("Mg", default=0) 24 s = FloatField("S", default=0) 25 na = FloatField("Na", default=0) 26 cl = FloatField("Cl", default=0) 27 fe = FloatField("Fe", default=0) 28 zn = FloatField("Zn", default=0) 29 b = FloatField("B", default=0) 30 mn = FloatField("Mn", default=0) 31 cu = FloatField("Cu", default=0) 32 mo = FloatField("Mo", default=0) 33 si = FloatField("Si", default=0) 34 nnh4 = FloatField("NNH4", default=0) 35 submit = SubmitField("Add/Update Log") 36 37 38 class AddFertiTarget(AddFertiLog): 39 target_id = SelectField( 40 "Target log", 41 choices=[], 42 validators=[InputRequired()], 43 ) 44 submit = SubmitField("Add target") 45 46 def __init__(self, **kwargs): 47 super().__init__() 48 self.target_id.choices = [ 49 (target.primary_key, target.date_time_created) for target in FertiLog.query.all() 50 ] 51