82 lines
2.0 KiB
Ruby
82 lines
2.0 KiB
Ruby
|
class CPanelSessionsController < CPanelController
|
||
|
|
||
|
def login
|
||
|
if session[:cpanel_user_login_errors].present?
|
||
|
@errors = session[:cpanel_user_login_errors]
|
||
|
session.delete(:cpanel_user_login_errors)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def logout
|
||
|
destroy_cpanel_session
|
||
|
redirect_to cpanel_login_path
|
||
|
end
|
||
|
|
||
|
def signup
|
||
|
@cpaneluser = CPanelUser.new
|
||
|
end
|
||
|
|
||
|
def create_user
|
||
|
cpaneluser = CPanelUser.new(c_panel_user_params)
|
||
|
cpaneluser.first_time_run = false
|
||
|
cpaneluser.registered = true
|
||
|
cpaneluser.save
|
||
|
cpaneluser.generate_confirmation_token
|
||
|
end
|
||
|
|
||
|
def confirm_email
|
||
|
@user = CPanelUser.find(params[:id]) rescue nil
|
||
|
if !@user.nil?
|
||
|
CPanelUser.confirm_email(params[:token])
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def requestpassword
|
||
|
end
|
||
|
|
||
|
def loguserin
|
||
|
user = CPanelUser.where(:email => params[:username]).first rescue nil
|
||
|
if user && user.authenticate(params[:password])
|
||
|
if user.is_confirmed?
|
||
|
create_cpanel_session(user)
|
||
|
redirect_to :sites
|
||
|
else
|
||
|
session[:cpanel_user_login_errors] = "User is not confirmed. Please confirm the email before you login."
|
||
|
redirect_to :cpanel_login
|
||
|
end
|
||
|
else
|
||
|
session[:cpanel_user_login_errors] = "Invalid username or password."
|
||
|
redirect_to :cpanel_login
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def instructions
|
||
|
user = CPanelUser.where(:email => params[:email]).first rescue nil
|
||
|
@user_found = false
|
||
|
if !user.nil?
|
||
|
@user_found = true
|
||
|
user.send_password_reset_email
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def reset_password
|
||
|
@user_found = CPanelUser.check_password_token(params[:token])
|
||
|
@user_id = CPanelUser.where(reset_token: params[:token]).first.id rescue nil
|
||
|
end
|
||
|
|
||
|
def update_cpanel_user_password
|
||
|
user = CPanelUser.find(params[:user_id]) rescue nil
|
||
|
if user.update_password(params[:password], params[:confirmation_password])
|
||
|
redirect_to :cpanel_login
|
||
|
else
|
||
|
redirect_to reset_password_path(:token => user.reset_token, :id => user.id.to_s)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def c_panel_user_params
|
||
|
params.require(:c_panel_user).permit!
|
||
|
end
|
||
|
|
||
|
end
|