"""Form object declaration.""" from flask_wtf import FlaskForm from flask_wtf.file import FileAllowed, FileField from wtforms import (IntegerField, RadioField, StringField, SubmitField, validators) from wtforms.validators import Length, NumberRange class PublicationForm(FlaskForm): """Publication upload form.""" uploadpublication = StringField( "Title of the publication:", [ validators.InputRequired(), Length( min=3, message="A publication in the library needs a title." ), ], ) author = StringField( "The author or editor:", [ validators.InputRequired(), Length( min=3, message=( "If the author or editor is not known just type unkown." ), ), ], ) year = IntegerField( "Year:", [validators.InputRequired(), NumberRange(min=0, max=2050)] ) fields = StringField("Fields:") type = StringField( "Type of publication:", [ validators.InputRequired(), Length( min=3, message=( "Here you can use terms such as zine, paperback," " hardcover." ), ), ], ) publishers = StringField("Publishers:") license = StringField("License:") highlights = StringField("Highlights from the publication:") comments = StringField("Comments on the publication:") image = FileField( "Image of the book:", validators=[FileAllowed(["jpg", "png", "gif"], "Images only!")], ) secret = StringField( "Librarians secret:", [ validators.InputRequired(), Length(min=2, message="Fill in the secret to unlock to library."), ], ) submit = SubmitField("Submit")