Files
sx-fc/app/controllers/sessions_controller.rb
Thein Lin Kyaw 7e9b4f7120 update license
2020-06-19 10:46:52 +06:30

77 lines
2.2 KiB
Ruby

class SessionsController < ApplicationController
skip_before_action :authenticate, only: [:index, :show, :update, :create, :destroy]
# Special check for only dashboard
def index
# @employees = Employee.all_emp_except_waiter.order("name asc")
@employees = Employee.all.where("is_active = true").order("name asc")
@roles = Employee.distinct.pluck(:role)
# byebug
# @roles = Lookup.collection_of("employee_roles")
@login_form = LoginForm.new()
render "layouts/login_dashboard", layout: false
end
def show
@login_form = LoginForm.new()
@login_form.emp_id = params[:emp_id]
render "layouts/login", layout: false
end
def update
@login_form = LoginForm.new()
@login_form.emp_id = params[:emp_id]
@login_form.password = params[:login_form][:password]
@employee = Employee.login(@login_form.emp_id, @login_form.password)
if @employee != nil
session[:session_token] = @employee.token_session
redirect_to root_path
else
flash[:notice] = "Invalid PIN for Employee. Please try again!"
render :show
end
end
def create
@login_form = LoginForm.new(settings_home_params)
@employee = Employee.login(@login_form.emp_id, @login_form.password)
if @employee != nil
if @employee.is_active
session[:session_token] = @employee.token_session
redirect_to root_path
else
redirect_to login_path, :notice => "This Employee is not active"
end
else
redirect_to login_path, :notice => "Username and Password doesn't match!"
end
end
def destroy
# clear in employee session
Employee.logout(session[:session_token])
session[:session_token] = nil
# redirect_to root_path
render :json => {:status=> "Success", :url => root_path }.to_json
end
def run_teamviewer
if File.directory?("/opt/teamviewer")
output = IO.popen('/opt/teamviewer/tv_bin/script/teamviewer')
render :json => {:status=> true}
else
render :json => {:status=> false}
end
end
private
# Never trust parameters from the scary internet, only allow the white list through.
def settings_home_params
params.require(:login_form).permit(:emp_id, :password)
end
end