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())