mirror of
https://github.com/StefBuwalda/cal_counter.git
synced 2025-10-29 19:00:00 +00:00
Updated the barcode field in FoodItem model and form from integer to string to support barcodes with leading zeros or non-numeric values. Added validation to ensure barcode contains only digits. Updated seed data to use string barcodes.
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from flask_wtf import FlaskForm
|
|
from wtforms import (
|
|
StringField,
|
|
PasswordField,
|
|
SubmitField,
|
|
IntegerField,
|
|
FloatField,
|
|
)
|
|
from wtforms.validators import DataRequired, InputRequired, Optional
|
|
|
|
|
|
class LoginForm(FlaskForm):
|
|
username = StringField("Username", validators=[DataRequired()])
|
|
password = PasswordField("Password", validators=[DataRequired()])
|
|
submit = SubmitField("Login")
|
|
|
|
|
|
class FoodItemForm(FlaskForm):
|
|
barcode = StringField("Barcode", validators=[Optional()])
|
|
name = StringField("Product Name", validators=[DataRequired()])
|
|
energy = IntegerField("Energy per 100g", validators=[InputRequired()])
|
|
protein = FloatField("protein per 100g", validators=[InputRequired()])
|
|
carbs = FloatField("carbs per 100g", validators=[InputRequired()])
|
|
sugar = FloatField("sugar per 100g", validators=[Optional()])
|
|
fat = FloatField("fat per 100g", validators=[InputRequired()])
|
|
saturated_fat = FloatField("saturated_fat per 100g")
|
|
submit = SubmitField("Add Item")
|
|
|
|
|
|
class FoodLogForm(FlaskForm):
|
|
amount = IntegerField("amount of food (g/ml)")
|
|
submit = SubmitField("Log Item")
|