if want to implement a password recovery in my app. but i get the following errors
no match of right hand side value: {:error, #Ecto.Changeset<action: :update, changes: %{password_reset_code: “voXaXWLUGOfeBsJ7Sd4EhNcz5YtMt3So”}, errors: [password: {“can’t be blank”, [validation: :required]}, password_confirmation: {“can’t be blank”, [validation: :required]}], data: #JavsalynnSmanager.Administration.User<>, valid?: false>}
def recover_password_submit(conn, %{“session” => session_params}) do
conn
|> clear_session()
case Administration.get_user_by_email(session_params["email"]) do
:nil -> conn
|> put_flash(:error, "There is no account with the provided email!")
|> render("forgot_password.html")
user ->
{:ok, updated_user} = Administration.generate_password_reset_code(user)
updated_user.email
|> Email.send_html_email(
"Password Reset link",
"#{updated_user.firstname} #{updated_user.lastname}",
"password_reset_email",
updated_user.password_reset_code
)
|> Mailer.deliver_later
conn
|> put_flash(:info, "Password Recovery email has been sent to you. Please check your email.")
|> redirect(to: Routes.page_path(conn, :index))
end
end