2024-01-17 01:21:20 -06:00
|
|
|
class WorkersController < ApplicationController
|
|
|
|
def index
|
2024-01-30 00:04:20 -06:00
|
|
|
@workers = Worker.order(:last_name).page(params[:page]).per(5) # Adjust the number per page as needed
|
2024-01-17 01:21:20 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
def show
|
|
|
|
@worker = Worker.find(params[:id])
|
|
|
|
end
|
|
|
|
|
|
|
|
def new
|
|
|
|
@worker = Worker.new
|
|
|
|
end
|
|
|
|
|
|
|
|
def create
|
|
|
|
@worker = Worker.new(worker_params)
|
|
|
|
if @worker.save
|
|
|
|
redirect_to @worker
|
|
|
|
else
|
|
|
|
render :new
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def edit
|
|
|
|
@worker = Worker.find(params[:id])
|
|
|
|
end
|
|
|
|
|
|
|
|
def update
|
|
|
|
@worker = Worker.find(params[:id])
|
|
|
|
if @worker.update(worker_params)
|
|
|
|
redirect_to @worker
|
|
|
|
else
|
|
|
|
render :edit
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def destroy
|
|
|
|
@worker = Worker.find(params[:id])
|
|
|
|
@worker.destroy
|
|
|
|
redirect_to workers_path
|
|
|
|
end
|
2024-01-29 21:03:16 -06:00
|
|
|
|
|
|
|
def search
|
|
|
|
if params[:term]
|
|
|
|
# Assuming you want to search by first name or last name
|
|
|
|
@workers = Worker.where('first_name LIKE ? OR last_name LIKE ?', "%#{params[:term]}%", "%#{params[:term]}%")
|
|
|
|
else
|
|
|
|
@workers = Worker.all
|
|
|
|
end
|
|
|
|
|
|
|
|
# Format the response as needed by your autocomplete component
|
|
|
|
render json: @workers.map { |worker| { label: "#{worker.first_name} #{worker.last_name}", value: worker.id } }
|
|
|
|
end
|
2024-01-17 01:21:20 -06:00
|
|
|
|
|
|
|
private
|
2024-01-30 17:02:46 -06:00
|
|
|
def worker_params
|
|
|
|
params.require(:worker).permit(
|
|
|
|
:first_name, :last_name,
|
|
|
|
:address_line_1, :address_line_2, :city, :state, :zip,
|
|
|
|
:phone, :email, :dob, :ssn, :gender
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
2024-01-23 19:14:58 -06:00
|
|
|
|
2024-01-17 01:21:20 -06:00
|
|
|
end
|
|
|
|
|