class GameForm(BaseForm): name = StringField("Pelin nimi", length_validators(max=200)) developer = StringField("Kehittäjä", length_validators(max=100)) description = TextAreaField("Kuvaus (korkeintaan 1000 merkkiä)", length_validators(max=1000)) year = IntegerField("Julkaisuvuosi", [ validators.NumberRange(min=0, max=LAST_ACCEPTABLE_RELEASE_YEAR, message=str("Oltava kokonaisluku väliltä 0-" + str(LAST_ACCEPTABLE_RELEASE_YEAR))) ])
class RegisterForm(BaseForm): name = StringField("Nimi", length_validators(max=100)) username = StringField("Käyttäjätunnus", length_validators(max=100)) password = PasswordField( "Salasana (vähintään 6 merkkiä)", length_validators(6, 32) + [ validators.InputRequired(), validators.EqualTo("password_confirm", message="Salasanat eivät täsmää") ]) password_confirm = PasswordField("Toista salasana", length_validators(6, 32)) description = TextAreaField("Lyhyt kuvaus itsestäsi (vapaaehtoinen)", length_validators(max=1000, optional=True))
class SearchForm(BaseForm): name = StringField("Nimi", length_validators(max=200, optional=True)) min_year = IntegerField("Vuosi(min)", [validators.Optional()]) max_year = IntegerField("Vuosi(max)", [validators.Optional()]) developer = StringField("Kehittäjä", length_validators(max=100, optional=True)) genres = MultiCheckboxField("Genret", [validators.Optional()], coerce=int) tags = MultiCheckboxField("Omat tägit", [validators.Optional()], coerce=int) min_average = DecimalField("Arvostelujen keskiarvo(min)", [validators.Optional()]) max_average = DecimalField("Arvostelujen keskiarvo(max)", [validators.Optional()]) min_count = IntegerField("Arvostelujen lukumäärä(min)", [validators.Optional()]) max_count = IntegerField("Arvostelujen lukumäärä(max)", [validators.Optional()]) def __init__(self, *args, **kwargs): super(SearchForm, self).__init__(*args, **kwargs) self.genres.choices = [(g.id, g.name) for g in Genre.query.all()] def set_tags_info(self, user): self.tags.choices = [(t.id, t.name) for t in user.tags()]
class TagCreationForm(BaseForm): name = StringField("Tagin nimi ", length_validators(max=100))
class ReviewForm(BaseForm): text = TextAreaField("Arvostelu", length_validators(max=1000)) points = RadioField("Arvosana", [validators.InputRequired(message="Valitse arvosana")], choices=list(map(lambda i: (i,i), range(1,11))), coerce=int)
class LoginForm(BaseForm): username = StringField("Käyttäjätunnus", length_validators(max=100)) password = PasswordField("Salasana", length_validators(6, 32))
class DescriptionForm(BaseForm): description = TextAreaField("", length_validators(max=1000))
class GenreCreationForm(BaseForm): name = StringField("Genren nimi:", length_validators(max=64))