CostHive/app/main/forms.py
Lunaresk 764738b20d major: upload and storage of recipes
PDF-Recipes are uploadable and some basic functions are already
implemented.
Also minor bugfixes.
2022-11-14 21:03:00 +01:00

37 lines
1.8 KiB
Python

from app.models import Brand, Category
from flask_wtf import FlaskForm
from wtforms import DateField, FloatField, IntegerField, SelectField, SelectMultipleField, StringField, SubmitField
from wtforms.validators import DataRequired, Optional
class NewItemForm(FlaskForm):
id = IntegerField("Product EAN", validators=[DataRequired()])
name = StringField("Name", validators=[DataRequired()])
description = StringField("Description", validators=[DataRequired()])
date = DateField("Insert Date", validators=[DataRequired()])
price_change = FloatField("Price", validators=[DataRequired()])
amount_change = IntegerField("Amount", validators=[Optional()])
category = SelectMultipleField("Categories", choices=[], validators=[Optional()])
brand = SelectField("Brand", choices=[], validators=[DataRequired()])
submit = SubmitField("Submit", render_kw={"class": "btn btn-primary mt-3"})
@classmethod
def new(cls):
form = cls()
form.category.choices = [(c.id, c.name) for c in Category.query.order_by("name").all()]
form.brand.choices = [(b.id, b.name) for b in Brand.query.order_by("name").all()]
return form
class NewCategoryForm(FlaskForm):
name = StringField("Name", validators=[DataRequired()])
submit = SubmitField("Submit", render_kw={"class": "btn btn-primary mt-3"})
class NewBrandForm(FlaskForm):
name = StringField("Name", validators=[DataRequired()])
submit = SubmitField("Submit", render_kw={"class": "btn btn-primary mt-3"})
class NewEstablishmentForm(FlaskForm):
establishment_name = StringField("Name", validators=[DataRequired()])
submit = SubmitField("Submit", render_kw={"class": "btn btn-primary mt-3"})
class JoinEstablishmentForm(FlaskForm):
submit = SubmitField("Submit", render_kw={"class": "btn btn-primary mt-3"})