Source code for app.view.forms.upload_step2_form

from wtforms import (
    SelectField,
    SelectMultipleField,
    StringField,
    FormField,
    FieldList,
    TextAreaField,
)
from wtforms.validators import DataRequired, Length

from app.view.forms.base_form import BaseForm


[docs] class UploadStep2Form(BaseForm):
[docs] class Meta:
[docs] csrf_time_limit = None
[docs] class NewStrainForm(BaseForm):
[docs] class Meta:
[docs] csrf = False
[docs] name = StringField('name', validators=[DataRequired(), Length(max=100)])
[docs] description = TextAreaField('description')
[docs] species = SelectField('species', choices=[], validate_choice=False)
[docs] strains = SelectMultipleField('strains', choices=[], validate_choice=False)
[docs] custom_strains = FieldList(FormField(NewStrainForm))
[docs] def validate_custom_strains(self, field): names = [s['name'] for s in field.data] self._validate_uniqueness("strain_name", "Strain names are not unique", names)