示例#1
0
def render_registration_page():
    form = RegistrationForm()
    if form.validate_on_submit():
        username = form.username.data
        first_name = form.first_name.data
        last_name = form.last_name.data
        password = form.password.data
        phone_num = form.phone_number.data
        query = "SELECT * FROM app_user WHERE username = '******'".format(username)
        exists_user = db.session.execute(query).fetchone()
        if exists_user:
            form.username.errors.append(
                "{} is already in use.".format(username))
        else:
            query = "INSERT INTO app_user(username, first_name, last_name, password, phone_number) " \
                    "VALUES ('{}', '{}', '{}', '{}', '{}')" \
                .format(username, first_name, last_name, password, phone_num)
            db.session.execute(query)
            db.session.commit()

            query = "INSERT INTO passenger(username, p_rating) VALUES('{}', NULL)".format(
                username)
            db.session.execute(query)
            db.session.commit()

            form.message = "Register successful! Please login with your newly created account."
    return render_template("registration.html", form=form)
示例#2
0
def register_user(request):
    """
    Handles user Registration
    """

    form = RegistrationForm(request.POST)
    if request.method == 'POST':
        if form.is_valid():
            username = form.cleaned_data['username']
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            confirm = form.cleaned_data['confirm']
            try:
                user = User.objects.get(email=email)
                form.error = "Email already registered!"
                return render(request, 'registration.html', {'form': form})
            except User.DoesNotExist:
                if password == confirm:
                    password = make_password(password)
                    if is_password_usable(password):
                        user = User(username=username,
                                    email=email,
                                    password=password)
                        user.save()
                        form = RegistrationForm()
                        form.message = "Success"
                    else:
                        form.message = "Password cannot be used"
                else:
                    form.message = "Comfirm and Password field do not match"
                return render(request, 'registration.html',
                              {'form': form,
                               'page': 'reg'})
            except Exception as e:
                #logging be implemented here
                print e

        else:
            form.error = "Invalid form feild Values"
            return render(request, 'registration.html',
                          {'form': form,
                           'page': 'reg'})
    else:
        form = RegistrationForm()
    return render(request, 'registration.html', {'form': form, 'page': 'reg'})