bookstore/app/controllers/sessions_controller.rb

37 lines
729 B
Ruby
Raw Permalink Normal View History

2021-03-22 03:16:29 +01:00
# frozen_string_literal: true
# Sessions controller
2021-03-20 14:23:06 +01:00
class SessionsController < ApplicationController
2021-03-22 03:16:29 +01:00
def new; end
2021-03-20 14:23:06 +01:00
def create
2021-03-20 22:37:38 +01:00
@user = User.find_by(email: params[:email])
2021-03-22 03:16:29 +01:00
problem = problem_with_login
if problem
redirect_to '/welcome', notice: problem
else
session[:user_id] = @user.id
redirect_to '/welcome'
2021-03-21 23:43:09 +01:00
end
2021-03-20 14:23:06 +01:00
end
2021-03-20 22:23:32 +01:00
def delete
session.delete(:user_id)
redirect_to '/welcome', notice: 'Logged out properly'
2021-03-20 22:23:32 +01:00
end
2021-03-22 03:16:29 +01:00
def welcome; end
private
def problem_with_login
if !@user
'Wrong email address'
elsif !@user.authenticate(params[:password])
'Wrong password'
elsif @user.blocked?
'You are blocked, please contact support'
end
2021-03-20 14:23:06 +01:00
end
end