示例#1
0
def register():
    form = RegisterForm(request.form)
    if form.validate_on_submit():
        usr = insert_user(name=form.name.data,
                          surname=form.surname.data,
                          email=form.email.data,
                          password=form.password.data,
                          dateofbirth=form.dateofbirth.data,
                          university=form.university.data,
                          course=form.course.data)
        if isinstance(usr, (int, long)):
            return redirect(url_for("user.register"))
        token = generate_confirmation_token(usr.email)
        confirm_url = url_for('user.confirm_email',
                              token=token,
                              _external=True)
        html = render_template('user/activate.html', confirm_url=confirm_url)
        subject = "Please confirm your email"
        send_email(usr.email, subject, html)

        login_user(usr)

        flash('A confirmation email has been sent via email.', 'success')
        return redirect(url_for("main.home"))

    return render_template('user/register.html', form=form)
示例#2
0
def resend_confirmation():
    token = generate_confirmation_token(current_user.email)
    confirm_url = url_for('user.confirm_email', token=token, _external=True)
    html = render_template('user/activate.html', confirm_url=confirm_url)
    subject = "Please confirm your email"
    send_email(current_user.email, subject, html)
    flash('A new confirmation email has been sent.', 'success')
    return redirect(url_for('user.unconfirmed'))
示例#3
0
def forgot():
    form = ForgotForm(request.form)
    if form.validate_on_submit():
        user = User.query.filter_by(
            email=form.email.data).first()  # TODO: use utils methods
        token = generate_confirmation_token(user.email)

        user.password_reset_token = token
        db.session.commit()

        reset_url = url_for('user.forgot_new', token=token, _external=True)
        html = render_template('user/reset.html',
                               username=user.email,
                               reset_url=reset_url)
        subject = "Reset your password"
        send_email(user.email, subject, html)

        flash('A password reset email has been sent via email.', 'success')
        return redirect(url_for("main.home"))

    return render_template('user/forgot.html', form=form)