lots of things
This commit is contained in:
50
plugins/submission/forms.py
Normal file
50
plugins/submission/forms.py
Normal 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 (1–5)", 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")
|
Reference in New Issue
Block a user