today_ai_weather/app/controllers/password_resets_controller.rb
songtianlun 7cf8411afa style: format strings in password resets controller
- Standardize string quotes in the PasswordResetsController
- Ensure consistent formatting for better readability

This commit improves the code style by changing single quotes to double
quotes for string literals in the PasswordResetsController. This change
is purely cosmetic and does not affect the functionality of the code.
2025-01-09 17:22:32 +08:00

66 lines
1.6 KiB
Ruby

class PasswordResetsController < ApplicationController
before_action :get_user, only: [ :edit, :update ]
before_action :valid_user, only: [ :edit, :update ]
before_action :check_expiration, only: [ :edit, :update ]
include SessionsHelper
def new
end
def create
@user = User.find_by(email: params[:password_reset][:email].downcase)
if @user
@user.create_reset_digest
@user.send_password_reset_email
flash[:info] = "Email send with password reset instructions"
redirect_to root_url
else
flash.now[:danger] = "Email not found"
render "new", status: :unprocessable_entity
end
end
def edit
end
def update
if params[:user][:password].empty?
@user.errors.add(:password, "can't be empty")
render "edit", status: :unprocessable_entity
elsif @user.update(user_params)
forget(@user)
reset_session
@user.update_attribute(:reset_digest, nil)
log_in @user
flash[:success] = "Password has been reset"
redirect_to @user
else
render "edit", status: :unprocessable_entity
end
end
private
def user_params
params.require(:user).permit(:password, :password_confirmation)
end
def get_user
@user = User.find_by(email: params[:email])
end
def valid_user
unless @user && @user.activated? &&
@user.authenticated?(:reset, params[:id])
redirect_to root_url
end
end
def check_expiration
if @user.password_reset_expired?
flash[:danger] = "Password reset has expired"
redirect_to new_password_reset_url
end
end
end