Ejemplo n.º 1
0
def register():

    if current_user.is_authenticated:

        return redirect(url_for('home'))

    form = RegistrationForm()

    if form.validate_on_submit():

        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')

        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)

        db.session.add(user)

        db.session.commit()

        flash('Your account has been created! You are now able to log in',
              'success')

        return redirect(url_for('login'))

    return render_template('register.html', title='Register', form=form)
Ejemplo n.º 2
0
 def post(self):
     user_schema = UserSchema()
     raw_data = request.get_json() or {}
     try:
         user = user_schema.load(data=raw_data)
         user.password = bcrypt.generate_password_hash(
             user.password).decode("utf-8")
     except ValidationError as e:
         return bad_request(str(e))
     db.session.add(user)
     db.session.commit()
     return user_schema.dump(user)
Ejemplo n.º 3
0
 def put(self, user_id):
     old_user = get_user_or_404(user_id=user_id)
     user_schema = UserSchema()
     raw_data = request.get_json() or {}
     try:
         user = user_schema.load(data=raw_data, instance=old_user)
         user.password = bcrypt.generate_password_hash(
             user.password).decode("utf-8")
     except ValidationError as e:
         return bad_request(str(e))
     db.session.commit()
     return user_schema.dump(user)
Ejemplo n.º 4
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode("utf-8")
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash(f"Your account has been created! You are now able to log in",
              "success")
        return redirect(url_for("users.login"))
    return render_template("users/register.html", title="Register", form=form)
Ejemplo n.º 5
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if not user:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Your password has been updated! You are now able to log in',
              category='success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Ejemplo n.º 6
0
def reset_token(token):

    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    user = User.verify_reset_token(token)
    if user is None:
        flash("That is an invalid or expired token", "warning")
        return redirect(url_for("users.reset_request"))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode("utf-8")
        user.password = hashed_password
        db.session.commit()
        flash("Your password has been updated! You are now able to log in",
              "success")
        return redirect(url_for("users.login"))
    return render_template("users/reset_token.html",
                           title="Reset Password",
                           form=form)