Exemplo n.º 1
0
def register():
    if current_user.is_authenticated:
        return redirect(
            url_for(DEFAULT_ROUTE_AUTHENTICATED,
                    _external=True,
                    _scheme=protocol))
    else:
        form = RegisterForm()
        if form.validate_on_submit():
            try:
                movr.add_user(city=form.city.data,
                              first_name=form.first_name.data,
                              last_name=form.last_name.data,
                              email=form.email.data,
                              username=form.username.data,
                              password=form.password.data)
                flash('Registration successful! You can now log in as {0}.'.
                      format(form.username.data))
                return redirect(
                    url_for('login_page', _external=True, _scheme=protocol))
            except DBAPIError as sql_error:
                flash(
                    '{0}\n Registration failed. Make sure that you choose a unique username!'
                    .format(sql_error))
                return redirect(
                    url_for('register', _external=True, _scheme=protocol))
            except Exception as error:
                flash('{0}'.format(error))
                return redirect(
                    url_for('register', _external=True, _scheme=protocol))
        return render_template('register.html',
                               title='Sign Up',
                               form=form,
                               available=session['region'])
Exemplo n.º 2
0
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        user = User(form.nickname.data, form.email.data, form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Thanks for registering!')
        return redirect(url_for('login'))
    elif request.method == "POST":
        flash('Registering failed. Please supply all information', 'error')

    return render_template('register.html', form=form)
Exemplo n.º 3
0
def register():
    """Register as a new user."""
    if current_user.is_authenticated:
        flash("Cannot register a new user while logged in.")
        return redirect(url_for(_DEFAULT_ROUTE_AUTHENTICATED, _external=True))
    form = RegisterForm()
    if form.validate_on_submit():
        logout_user()  # Sometimes required to kill an old session
        email = form.email.data
        last_name = form.last_name.data
        first_name = form.first_name.data
        phone_numbers = form.phone_number.data
        try:
            if movr.add_user(email=email, last_name=last_name,
                             first_name=first_name,
                             phone_numbers=phone_numbers):
                # Check to see if lab is complete
                if movr.get_user(email) is not None:
                    flash(('Registration successful! You can now log in as '
                           '`{}`.').format(email))
                    return redirect(
                        url_for('login_page', _external=True))
                else:
                    flash("User registration failed. Please compete "
                          "`Lab: Adding Users to MovR` and try again.")
                    return redirect(url_for('register', _external=True))

            else:
                flash(('add_user_txn(session, "{email}", "{last_name}", '
                       '"{first_name}", "{phone_numbers}") failed for unknown '
                       'reasons. Please copy this message and send it to '
                       '[email protected] for analysis.'
                       ).format(email=email,
                                last_name=last_name,
                                first_name=first_name,
                                phone_numbers=phone_numbers))
        except DBAPIError as sql_error:
            flash(('Registration failed. Make sure that you choose '
                   'a unique email!'))
            flash(('{0}'.format(sql_error)))
            return redirect(
                url_for('register', _external=True))
    return render_template('register.html',
                           title='Sign Up',
                           form=form)