示例#1
0
文件: views.py 项目: ZRJ/ledge
    def post(self):
        #: validate input
        if not self.form.validate():
            return self._render_page()

        #: try to authenticate
        try:
            user = User.query.authenticate(self.form.login.data,
                    self.form.password.data)
        except (UserNotFoundError, PasswordWrongError):
            message = _(u"The user is not found or the password is wrong.")
            flash(message, "error")
            return self._render_page()
        else:
            session_login(user)
            flash(_(u"Welcome %(name)s.", name=user.nickname), "info")

        #: redirect to user's person page
        return redirect(url_for("master.home"))
示例#2
0
文件: views.py 项目: ZRJ/ledge
def confirm(id):
    """The view to confirm a new account's email."""
    #: get resources
    user = User.query.get_or_404(id)
    service = SignUpService(user)
    input_token = request.args['token']

    #: active current account
    try:
        service.active(input_token)
    except TokenUsedError:
        message = _(u"The account had been actived.")
        return render_template("confirm-failed.html", message=message), 403
    except TokenWrongError:
        message = _(u"The active token is invalid.")
        return render_template("confirm-failed.html", message=message), 403

    #: automatic sign in
    session_login(user)
    #: output a success message
    message = _(u"The account has been actived successfully.")
    return render_template("confirm-success.html", message=message)