Files
@ 587a9a50643f
Branch filter:
Location: C3L/C3L-Membership-Online-Form/c3l_membership/forms.py - annotation
587a9a50643f
2.8 KiB
text/x-python
Use flexbox layout and add qrcode for automatic data import into MeVeSc
6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 52127f437376 52127f437376 52127f437376 52127f437376 6f06fc328a13 6f06fc328a13 52127f437376 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 52127f437376 52127f437376 52127f437376 52127f437376 52127f437376 52127f437376 52127f437376 52127f437376 52127f437376 52127f437376 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 9954f35f0971 9954f35f0971 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 6f06fc328a13 | from datetime import date
from flask_wtf import Form
from wtforms import BooleanField, RadioField, StringField, SubmitField
from wtforms.fields.html5 import DateField
from wtforms.validators import Email, InputRequired, Length, Optional, Required
class MembershipForm(Form):
username = StringField(
"Username",
validators=[InputRequired("This field is required!"), Length(max=255)],
)
email = StringField(
"E-Mail", validators=[InputRequired("This field is required!"), Email()]
)
fullname = StringField(
"Full Name",
validators=[InputRequired("This field is required!"), Length(max=65536)],
)
membership = RadioField(
"Membership Plan",
validators=[InputRequired("Please select one of the options!")],
choices=[
(
"regular",
"Regular membership - Membership with voting rights on the general assembly.",
),
(
"supporting",
"Supporting membership - Membership without voting rights on the general assembly.",
),
],
)
student = BooleanField(
("I am a student and would like to have the reduced membership fees."),
)
starving = BooleanField(
(
"I am a starving hacker and cannot afford the membership! (Please get in touch with us at info@c3l.lu before filling out this membership form)"
)
)
payment = RadioField(
"Payment Options",
validators=[InputRequired("Please select one of the options!")],
choices=[
("cash", "by cash"),
("wire transfer", "by wire transfer"),
("digicash", "by DigiCash"),
("bitcoin", "by bitcoin"),
("ethereum", "by ethereum"),
],
)
birthday = DateField("Birthday")
street = StringField(
"Nr., Street",
validators=[Length(max=4000)],
)
zip = StringField(
"Postal Code",
validators=[Length(max=30)],
)
city = StringField(
"City/Town",
validators=[Length(max=500)],
)
state = StringField(
"State/County/Province",
validators=[Length(max=500)],
)
country = StringField(
"Country",
validators=[Length(max=500)],
)
terms = BooleanField(
(
"By submitting this membership application, you agree to have read and understood "
'the <a href="http://statutes.c3l.lu">statutes of the Chaos Computer Club Lëtzebuerg A.S.B.L.</a>'
),
validators=[InputRequired()],
)
minor_member = BooleanField(
(
"I am under 18 years of age and have the approval of my legal representative."
),
)
submit = SubmitField("Become a member")
|