2024-01-17 01:21:20 -06:00
|
|
|
class EmployersController < ApplicationController
|
2024-01-19 18:25:59 -06:00
|
|
|
before_action :set_employer, only: [:show, :edit, :update, :destroy]
|
|
|
|
|
|
|
|
# GET /employers
|
|
|
|
def index
|
2024-01-30 00:04:20 -06:00
|
|
|
@employers = Employer.order(:last_name).page(params[:page]).per(5) # Adjust the number per page as needed
|
2024-01-19 18:25:59 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
# GET /employers/:id
|
|
|
|
def show
|
2024-02-05 15:58:46 -06:00
|
|
|
@employer = Employer.includes(:employer_records, :direct_participants).find(params[:id])
|
2024-02-02 23:12:36 -06:00
|
|
|
@employer_records = @employer.employer_records.includes(:participant)
|
2024-01-19 18:25:59 -06:00
|
|
|
end
|
2024-02-02 23:12:36 -06:00
|
|
|
|
2024-01-19 18:25:59 -06:00
|
|
|
|
|
|
|
# GET /employers/new
|
|
|
|
def new
|
|
|
|
@employer = Employer.new
|
|
|
|
end
|
|
|
|
|
|
|
|
# POST /employers
|
|
|
|
def create
|
|
|
|
@employer = Employer.new(employer_params)
|
|
|
|
if @employer.save
|
|
|
|
redirect_to @employer, notice: 'Employer was successfully created.'
|
|
|
|
else
|
|
|
|
render :new
|
2024-01-17 01:21:20 -06:00
|
|
|
end
|
2024-01-19 18:25:59 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
# GET /employers/:id/edit
|
|
|
|
def edit
|
|
|
|
end
|
|
|
|
|
|
|
|
# PATCH/PUT /employers/:id
|
|
|
|
def update
|
|
|
|
if @employer.update(employer_params)
|
|
|
|
redirect_to @employer, notice: 'Employer was successfully updated.'
|
|
|
|
else
|
|
|
|
render :edit
|
2024-01-17 01:21:20 -06:00
|
|
|
end
|
2024-01-19 18:25:59 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
# DELETE /employers/:id
|
|
|
|
def destroy
|
|
|
|
@employer.destroy
|
|
|
|
redirect_to employers_url, notice: 'Employer was successfully destroyed.'
|
|
|
|
end
|
|
|
|
|
2024-01-19 23:38:15 -06:00
|
|
|
# GET /employers/search
|
|
|
|
# This action responds to the auto-complete AJAX requests
|
|
|
|
def search
|
|
|
|
if params[:term].present?
|
2024-01-30 16:34:18 -06:00
|
|
|
@employers = Employer.where(
|
|
|
|
"first_name LIKE :term OR last_name LIKE :term",
|
|
|
|
term: "%#{params[:term]}%"
|
|
|
|
)
|
2024-01-19 23:38:15 -06:00
|
|
|
else
|
|
|
|
@employers = Employer.none
|
|
|
|
end
|
2024-01-30 16:34:18 -06:00
|
|
|
|
|
|
|
render json: @employers.map { |e| { label: e.full_name, value: e.id } }
|
2024-01-19 23:38:15 -06:00
|
|
|
end
|
2024-02-05 16:48:36 -06:00
|
|
|
|
|
|
|
def link_employer
|
|
|
|
@worker = Worker.find(params[:id])
|
|
|
|
employer_record = @worker.employer_records.new(employer_record_params)
|
|
|
|
# Handle the logic for creating the employer_record
|
|
|
|
# ...
|
|
|
|
end
|
2024-01-30 16:34:18 -06:00
|
|
|
|
2024-01-19 23:38:15 -06:00
|
|
|
|
2024-01-19 18:25:59 -06:00
|
|
|
private
|
|
|
|
|
|
|
|
def set_employer
|
2024-01-17 01:21:20 -06:00
|
|
|
@employer = Employer.find(params[:id])
|
|
|
|
end
|
2024-01-19 18:25:59 -06:00
|
|
|
|
|
|
|
def employer_params
|
2024-01-30 16:34:18 -06:00
|
|
|
params.require(:employer).permit(
|
|
|
|
:first_name, :last_name,
|
|
|
|
:address_line_1, :address_line_2,
|
|
|
|
:city, :state, :zip,
|
|
|
|
:phone, :email, :tin, :dob, :ssn, :gender
|
|
|
|
)
|
2024-01-19 18:25:59 -06:00
|
|
|
end
|
2024-02-05 16:48:36 -06:00
|
|
|
|
|
|
|
def employer_record_params
|
|
|
|
params.require(:employer_record).permit(:employer_id, :start_date, :end_date)
|
|
|
|
end
|
2024-01-30 16:34:18 -06:00
|
|
|
|
2024-01-19 18:25:59 -06:00
|
|
|
end
|