36 lines
885 B
Ruby
36 lines
885 B
Ruby
class UsersController < ApplicationController
|
|
def new
|
|
@user = User.new
|
|
end
|
|
|
|
def create
|
|
@user = User.create(params.require(:user).permit(:email, :password))
|
|
session[:user_id] = @user.id
|
|
redirect_to '/welcome'
|
|
end
|
|
|
|
def send_password_recovery_email
|
|
@user = User.where(email: params['email']).first
|
|
UserMailer.with(user: @user).password_recovery.deliver_now
|
|
end
|
|
|
|
def password_recovery_email
|
|
end
|
|
|
|
def password_recovery
|
|
@recovery_code = params[:recovery_code]
|
|
@user_id = params[:id]
|
|
end
|
|
|
|
def recover_password
|
|
user = User.find(params[:user_id])
|
|
if user.authenticate_recovery_password(params[:recovery_code])
|
|
user.password = params[:password]
|
|
user.password_confirmation = params[:repeated_password]
|
|
user.recovery_password_digest = nil
|
|
if user.save
|
|
redirect_to '/welcome'
|
|
end
|
|
end
|
|
end
|
|
end
|