Changeset - 32f836e7ff5d
[Not reviewed]
default
0 3 0
Dennis Fink - 10 years ago 2015-02-16 02:29:06
dennis.fink@c3l.lu
Get more feedback to the user
3 files changed with 31 insertions and 67 deletions:
0 comments (0 inline, 0 general)
ennstatus/root/forms.py
Show inline comments
 
from flask_wtf import Form
 
from wtforms import SelectField, StringField, RadioField, BooleanField, SubmitField
 
from wtforms.validators import DataRequired, InputRequired, Email, Optional, Length
 
from wtforms.validators import InputRequired, Email, Length, DataRequired
 

	
 

	
 

	
 
COUNTRIES = [
 
    ('luxembourg', 'Luxembourg'),
 
    ('united_kingdom', 'United Kingdom'),
 
@@ -21,44 +21,46 @@ class BPMForm(Form):
 

	
 

	
 
class MembershipForm(Form):
 

	
 
    username = StringField('Username*',
 
                           validators=[
 
                               InputRequired('This field is required!')]
 
                               InputRequired('This field is required!'),
 
                               Length(max=255)
 
                           ]
 
                           )
 
    email = StringField('E-Mail*',
 
                        validators=[
 
                            InputRequired('This field is required!'),
 
                            Email()
 
                        ]
 
                        )
 
    firstname = StringField('First Name',
 
                            validators=[Optional()],
 
                            validators=[Length(max=255)],
 
                            )
 
    surname = StringField('Surname',
 
                          validators=[Optional()],
 
                          validators=[Length(max=255)],
 
                          )
 
    street = StringField('Nr., Street',
 
                         validators=[Optional()],
 
                         validators=[Length(max=4000)],
 
                         )
 
    zip = StringField('ZIP-Code',
 
                      validators=[Length(max=30), Optional()],
 
                      validators=[Length(max=30)],
 
                      )
 
    city = StringField('City/Town',
 
                       validators=[Optional()],
 
                       validators=[Length(max=500)],
 
                       )
 
    country = StringField('Country',
 
                          validators=[Optional()],
 
                          validators=[Length(max=500)],
 
                          )
 
    gpg = StringField('GPG-ID',
 
                      validators=[Optional()],
 
                      validators=[Length(max=18)],
 
                      )
 

	
 
    membership = RadioField('Membership Plan*',
 
                            validators=[DataRequired()],
 
                            validators=[InputRequired('Please select one of the options!')],
 
                            choices=[
 
                                ('regular', 'Regular membership (120€/year)'),
 
                                ('student', 'Student membership (60€/year)'),
 
                                ('starving', 'Starving Hacker - Get in touch with us at info@enn.lu'),
 
                            ]
 
                            )
ennstatus/root/views.py
Show inline comments
 
from flask import (Blueprint, render_template, current_app,
 
                   request, redirect, url_for)
 
                   request, redirect, url_for, flash)
 

	
 
from ennstatus.root.forms import BPMForm, MembershipForm
 
from ennstatus.root.constants import BPM_ADDRESSES
 
from ennstatus.root.functions import send_membership_mail
 

	
 
root_page = Blueprint('root', __name__)
ennstatus/templates/root/membership.html
Show inline comments
 
@@ -6,80 +6,42 @@
 

	
 
{% block content %}
 
  <div class="col-md-12">
 
    <h2>Register as member</h2>
 
    <form method="post" class="form form-horizontal" role="form">
 
      {{ form.hidden_tag() }}
 
      <div class="form-group">
 
        {{ form.username.label(class_='control-label col-lg-2') }}
 
        <div class="col-lg-10">
 
          {{ form.username(class_='form-control') }}
 
        </div>
 
      </div>
 
      <div class="form-group">
 
        {{ form.email.label(class_='control-label col-lg-2') }}
 
        <div class="col-lg-10">
 
          {{ form.email(class_='form-control') }}
 
        </div>
 
      </div>
 
      <div class="form-group">
 
        {{ form.firstname.label(class_='control-label col-lg-2') }}
 
        <div class="col-lg-10">
 
          {{ form.firstname(class_='form-control') }}
 
        </div>
 
      </div>
 
      <div class="form-group">
 
        {{ form.surname.label(class_='control-label col-lg-2') }}
 
        <div class="col-lg-10">
 
          {{ form.surname(class_='form-control') }}
 
        </div>
 
      </div>
 
      <div class="form-group">
 
        {{ form.street.label(class_='control-label col-lg-2') }}
 
        <div class="col-lg-10">
 
          {{ form.street(class_='form-control') }}
 
        </div>
 
      </div>
 
      <div class="form-group">
 
        {{ form.zip.label(class_='control-label col-lg-2') }}
 
        <div class="col-lg-10">
 
          {{ form.zip(class_='form-control') }}
 
        </div>
 
      </div>
 
      <div class="form-group">
 
        {{ form.city.label(class_='control-label col-lg-2') }}
 
        <div class="col-lg-10">
 
          {{ form.city(class_='form-control') }}
 
        </div>
 
      </div>
 
      <div class="form-group">
 
        {{ form.country.label(class_='control-label col-lg-2') }}
 
        <div class="col-lg-10">
 
          {{ form.country(class_='form-control') }}
 
        </div>
 
      </div>
 
      <div class="form-group">
 
        {{ form.gpg.label(class_='control-label col-lg-2') }}
 
        <div class="col-lg-10">
 
          {{ form.gpg(class_='form-control') }}
 
        </div>
 
      </div>
 
      <div class="form-group">
 
      {{ wtf.form_field(form.username, form_type='horizontal') }}
 
      {{ wtf.form_field(form.email, form_type='horizontal') }}
 
      {{ wtf.form_field(form.firstname, form_type='horizontal') }}
 
      {{ wtf.form_field(form.surname, form_type='horizontal') }}
 
      {{ wtf.form_field(form.street, form_type='horizontal') }}
 
      {{ wtf.form_field(form.city, form_type='horizontal') }}
 
      {{ wtf.form_field(form.zip, form_type='horizontal') }}
 
      {{ wtf.form_field(form.country, form_type='horizontal') }}
 
      {{ wtf.form_field(form.gpg, form_type='horizontal') }}
 
      <div class="form-group {% if form.membership.errors %} has-error {% endif %} required">
 
        {{ form.membership.label(class_='control-label col-lg-2') }}
 
        <div class="col-lg-10">
 
        {% for field in form.membership %}
 
          <div class="radio">
 
            <label>
 
              {{ field() }} {{ field.label.text }}
 
            </label>
 
          </div>
 
        {% endfor %}
 
        </div>
 
        {% if form.membership.errors %}
 
          <div class="col-lg-offset-2 col-lg-10">
 
            {% for error in form.membership.errors %}
 
              <p class="help-block">{{ error }}</p>
 
            {% endfor %}
 
          </div>
 
        {% endif %}
 
      </div>
 
      <div class="form-group">
 
        <label class="col-lg-2 control-label">Double membership</label>
 
        <label class="control-label col-lg-2">Double membership</label>
 
        <div class="col-lg-10">
 
          <div class="checkbox">
 
            <label>
 
              {{ form.c3l() }} {{ form.c3l.label.text|safe }}
 
            </label>
 
          </div>
0 comments (0 inline, 0 general)