Submit social housing lettings and sales data (CORE)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

38 lines
1.1 KiB

class Auth::SessionsController < Devise::SessionsController
include Helpers::Email
def create
self.resource = resource_class.new
if params.dig(resource_class_name, "email").empty?
resource.errors.add :email, "Enter an email address"
elsif !email_valid?(params.dig(resource_class_name, "email"))
resource.errors.add :email, "Enter an email address in the correct format, like name@example.com"
end
if params.dig(resource_class_name, "password").empty?
resource.errors.add :password, "Enter a password"
end
if resource.errors.present?
render :new, status: :unprocessable_entity
else
super
end
end
private
def resource_class
request.path.include?("admin") ? AdminUser : User
end
def resource_class_name
resource_class.name.underscore
end
def after_sign_in_path_for(resource)
if resource.need_two_factor_authentication?(request)
send("#{resource_name}_two_factor_authentication_path")
else
params.dig(resource_class_name, "start").present? ? case_logs_path : super
end
end
end