lots of things

This commit is contained in:
2025-06-06 22:02:44 -05:00
parent 9daee50a3a
commit 96c634897b
30 changed files with 1120 additions and 182 deletions

View File

@ -0,0 +1,50 @@
# plugins/submission/forms.py
from flask_wtf import FlaskForm
from wtforms import (
StringField,
FloatField,
SelectField,
IntegerField,
TextAreaField,
MultipleFileField,
SubmitField
)
from wtforms.validators import Optional, NumberRange, Length, DataRequired
class SubmissionForm(FlaskForm):
submission_type = SelectField(
"Submission Type",
choices=[
("market_price", "Market Price"),
("name_correction", "Name Correction"),
("new_plant", "New Plant Suggestion"),
("mutation", "Mutation Discovery"),
("vendor_rating", "Vendor Rating/Review"),
("vendor_alias", "Vendor Alias Submission"),
],
validators=[DataRequired()]
)
# Make plant_name Optional; route logic enforces when necessary
plant_name = StringField("Common Name", validators=[Optional(), Length(max=100)])
scientific_name = StringField("Scientific Name", validators=[Optional(), Length(max=120)])
notes = TextAreaField("Notes", validators=[Optional()])
# Market Price fields
price = FloatField("Price", validators=[Optional()])
source = StringField("Source/Vendor (e.g. Etsy, eBay)", validators=[Optional(), Length(max=255)])
# Vendor Rating / Review fields
vendor_name = StringField("Vendor Name", validators=[Optional(), Length(max=255)])
rating = IntegerField("Rating (15)", validators=[Optional(), NumberRange(min=1, max=5)])
# Vendor Alias Submission fields
old_vendor = StringField("Existing Vendor Name", validators=[Optional(), Length(max=255)])
new_vendor = StringField("New Vendor Name (Alias)", validators=[Optional(), Length(max=255)])
alias_reason = TextAreaField("Reason for Alias", validators=[Optional()])
# Images (max 10)
images = MultipleFileField("Upload Images (max 10)", validators=[Optional()])
submit = SubmitField("Submit")