Exemple #1
0
    def change_password(username):
        change_password_form = ChangePasswordForm(request.form)

        if not change_password_form.validate():
            return render("users/main.html",
                          user=User.query.filter_by(username=username).first(),
                          user_form=UserForm(),
                          change_password_form=change_password_form,
                          password_form_open=True)

        user = User.find_by_username_password(
            username, change_password_form.old_password.data)

        if not user:
            flash("Väärä vanha salasana", "error")
            return render("users/main.html",
                          user=User.query.filter_by(username=username).first(),
                          user_form=UserForm(),
                          change_password_form=change_password_form,
                          password_form_open=True)

        if not user.update_password(change_password_form.new_password.data):
            flash("Salasanan vaihto epäonnistui", "error")
            return render("users/main.html",
                          user=user,
                          user_form=UserForm(),
                          change_password_form=change_password_form)

        flash("Salasanan vaihto onnistui", "success")
        return render("users/main.html",
                      user=user,
                      user_form=UserForm(),
                      change_password_form=ChangePasswordForm())