Example #1
0
def register():
    """Register a new user."""
    if current_user is not None and current_user.is_authenticated:
        return redirect_or_next(url_for("forum.index"))

    if not flaskbb_config["REGISTRATION_ENABLED"]:
        flash(_("The registration has been disabled."), "info")
        return redirect_or_next(url_for("forum.index"))

    form = RegisterForm(request.form)

    form.language.choices = available_languages()
    form.language.default = flaskbb_config['DEFAULT_LANGUAGE']
    form.process(request.form)  # needed because a default is overriden

    if form.validate_on_submit():
        user = form.save()

        if flaskbb_config["ACTIVATE_ACCOUNT"]:
            send_activation_token(user)
            flash(
                _("An account activation email has been sent to %(email)s",
                  email=user.email), "success")
        else:
            login_user(user)
            flash(_("Thanks for registering."), "success")

        return redirect_or_next(current_user.url)

    return render_template("auth/register.html", form=form)
Example #2
0
def register():
    """Register a new user."""
    if current_user is not None and current_user.is_authenticated:
        return redirect_or_next(url_for("forum.index"))

    if not flaskbb_config["REGISTRATION_ENABLED"]:
        flash(_("The registration has been disabled."), "info")
        return redirect_or_next(url_for("forum.index"))

    form = RegisterForm(request.form)

    form.language.choices = available_languages()
    form.language.default = flaskbb_config["DEFAULT_LANGUAGE"]
    form.process(request.form)  # needed because a default is overriden

    if form.validate_on_submit():
        user = form.save()

        if flaskbb_config["ACTIVATE_ACCOUNT"]:
            send_activation_token(user)
            flash(_("An account activation email has been sent to %(email)s", email=user.email), "success")
        else:
            login_user(user)
            flash(_("Thanks for registering."), "success")

        return redirect_or_next(url_for("forum.index"))

    return render_template("auth/register.html", form=form)
Example #3
0
def test_send_activation_token_to_user(default_settings, user):
    """ Deliver a contact email. """

    with current_app.test_request_context():
        with mail.record_messages() as outbox:
            send_activation_token(user)

            assert len(outbox) == 1
            assert "/auth/activate" in outbox[0].body  # from /auth/activate/<token>
            assert "/auth/activate" in outbox[0].html
Example #4
0
def test_send_activation_token_to_user(default_settings, user):
    """ Deliver a contact email. """

    with current_app.test_request_context():
        with mail.record_messages() as outbox:
            send_activation_token(user)

            assert len(outbox) == 1
            # from /auth/activate/<token>
            assert "/auth/activate" in outbox[0].body
            assert "/auth/activate" in outbox[0].html
Example #5
0
def request_activation_token(token=None):
    """Requests a new account activation token."""
    if current_user.is_active or not flaskbb_config["ACTIVATE_ACCOUNT"]:
        flash(_("This account is already activated."), "info")
        return redirect(url_for("forum.index"))

    form = RequestActivationForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        send_activation_token(user)
        flash(_("A new account activation token has been sent to " "your email address."), "success")
        return redirect(url_for("auth.activate_account"))

    return render_template("auth/request_account_activation.html", form=form)
Example #6
0
def request_activation_token(token=None):
    """Requests a new account activation token."""
    if current_user.is_active or not flaskbb_config["ACTIVATE_ACCOUNT"]:
        flash(_("This account is already activated."), "info")
        return redirect(url_for('forum.index'))

    form = RequestActivationForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        send_activation_token(user)
        flash(
            _("A new account activation token has been sent to "
              "your email address."), "success")
        return redirect(url_for("auth.activate_account"))

    return render_template("auth/request_account_activation.html", form=form)