bookstore/app/controllers/users_controller.rb

37 lines
893 B
Ruby
Raw Normal View History

2021-03-20 14:23:06 +01:00
class UsersController < ApplicationController
def new
2021-03-20 20:02:37 +01:00
@user = User.new
2021-03-20 14:23:06 +01:00
end
def create
2021-03-20 22:37:38 +01:00
@user = User.create(params.require(:user).permit(:email, :password))
2021-03-20 14:23:06 +01:00
session[:user_id] = @user.id
redirect_to '/welcome'
end
2021-03-21 10:36:09 +01:00
2021-03-21 11:26:08 +01:00
def password_recovery_request
2021-03-21 10:36:09 +01:00
@user = User.where(email: params['email']).first
UserMailer.with(user: @user).password_recovery.deliver_now
end
2021-03-21 11:26:08 +01:00
def password_recovery_request_form
2021-03-21 10:36:09 +01:00
end
2021-03-21 11:26:08 +01:00
def recover_password_form
2021-03-21 10:36:09 +01:00
@recovery_code = params[:recovery_code]
@user_id = params[:id]
end
def recover_password
user = User.find(params[:user_id])
2021-03-21 11:12:14 +01:00
if user.authenticate_recovery_password(params[:recovery_code])
2021-03-21 10:36:09 +01:00
user.password = params[:password]
user.password_confirmation = params[:repeated_password]
2021-03-21 11:12:14 +01:00
user.recovery_password_digest = nil
2021-03-21 10:36:09 +01:00
if user.save
redirect_to '/welcome'
end
end
end
2021-03-20 14:23:06 +01:00
end