Files @ eea35814153b
Branch filter:

Location: C3L/C3L-Membership-Online-Form/c3l_membership/forms.py

Dennis Fink
Remove gpg, twitter and xmpp in the form
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")