diff --git a/app/controllers/employers_controller.rb b/app/controllers/employers_controller.rb new file mode 100644 index 0000000..c9cc066 --- /dev/null +++ b/app/controllers/employers_controller.rb @@ -0,0 +1,59 @@ +class EmployersController < ApplicationController + before_action :set_employer, only: [:show, :edit, :update, :destroy] + + # GET /employers + def index + @employers = Employer.all + end + + # GET /employers/:id + def show + end + + # 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 + end + 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 + end + end + + # DELETE /employers/:id + def destroy + @employer = Employer.find(params[:id]) + @employer.destroy + redirect_to employers_url, notice: 'Employer was successfully destroyed.' + end + + + private + + def set_employer + @employer = Employer.find(params[:id]) + end + + def employer_params + params.require(:employer).permit(:name, :address, :phone, :email, :tin, :dob, :ssn, :gender) + end + end + \ No newline at end of file diff --git a/app/controllers/workers_controller.rb b/app/controllers/workers_controller.rb new file mode 100644 index 0000000..2fe857c --- /dev/null +++ b/app/controllers/workers_controller.rb @@ -0,0 +1,47 @@ +class WorkersController < ApplicationController + def index + @workers = Worker.all + 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 + + private + def worker_params + params.require(:worker).permit(:name, :address, :phone, :email, :dob, :ssn, :gender) + end + end + \ No newline at end of file diff --git a/app/helpers/employers_helper.rb b/app/helpers/employers_helper.rb new file mode 100644 index 0000000..37e5444 --- /dev/null +++ b/app/helpers/employers_helper.rb @@ -0,0 +1,2 @@ +module EmployersHelper +end diff --git a/app/helpers/workers_helper.rb b/app/helpers/workers_helper.rb new file mode 100644 index 0000000..34b8cb0 --- /dev/null +++ b/app/helpers/workers_helper.rb @@ -0,0 +1,2 @@ +module WorkersHelper +end diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index 8f0b644..2fcfe96 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -1,3 +1,5 @@ -import "@hotwired/turbo-rails" -import "controllers" +import Rails from "@rails/ujs"; +import "@hotwired/turbo-rails"; +import "controllers"; +Rails.start(); diff --git a/app/views/employers/_form.html.erb b/app/views/employers/_form.html.erb new file mode 100644 index 0000000..d7f7cb3 --- /dev/null +++ b/app/views/employers/_form.html.erb @@ -0,0 +1,99 @@ +<%= form_with(model: employer, local: true) do |form| %> + <% if employer.errors.any? %> +
Name | +Address | +Phone | +TIN | +DOB | +SSN | +Gender | +Actions | +|
---|---|---|---|---|---|---|---|---|
<%= employer.name %> | +<%= employer.address %> | +<%= employer.phone %> | +<%= employer.email %> | +<%= employer.tin %> | +<%= employer.dob %> | +<%= employer.ssn %> | +<%= employer.gender %> | ++ <%= link_to 'Show', employer %> + <%= link_to 'Edit', edit_employer_path(employer) %> + <%= link_to 'Destroy', @employer, method: :delete, data: { confirm: 'Are you sure?', turbo: 'false' } %> + + | +
+ Name: + <%= @employer.name %> +
+ ++ Address: + <%= @employer.address %> +
+ ++ Phone: + <%= @employer.phone %> +
+ ++ Email: + <%= @employer.email %> +
+ ++ TIN: + <%= @employer.tin %> +
+ ++ Date of Birth: + <%= @employer.dob %> +
+ ++ SSN: + <%= @employer.ssn %> +
+ ++ Gender: + <%= @employer.gender %> +
+ +<%= link_to 'Edit', edit_employer_path(@employer) %> | +<%= link_to 'Back to List', employers_path %> +<%= link_to 'Destroy', @employer, method: :delete, data: { confirm: 'Are you sure?', turbo: 'false' } %> + + + diff --git a/app/views/participants/_form.html.erb b/app/views/participants/_form.html.erb index 236c3cb..9d709a2 100644 --- a/app/views/participants/_form.html.erb +++ b/app/views/participants/_form.html.erb @@ -30,7 +30,6 @@Name | +Address | +Phone | +DOB | +SSN | +Gender | +Actions | +|
---|---|---|---|---|---|---|---|
<%= worker.name %> | +<%= worker.address %> | +<%= worker.phone %> | +<%= worker.email %> | +<%= worker.dob %> | +<%= worker.ssn %> | +<%= worker.gender %> | ++ <%= link_to 'Show', worker_path(worker) %> | + <%= link_to 'Edit', edit_worker_path(worker) %> | + <%= link_to 'Destroy', worker_path(worker), method: :delete, data: { confirm: 'Are you sure?' } %> + | +
+ Name: + <%= @worker.name %> +
++ Address: + <%= @worker.address %> +
++ Phone: + <%= @worker.phone %> +
++ Email: + <%= @worker.email %> +
++ DOB: + <%= @worker.dob %> +
++ SSN: + <%= @worker.ssn %> +
++ Gender: + <%= @worker.gender %> +
+ +<%= link_to 'Edit', edit_worker_path(@worker) %> | +<%= link_to 'Back to List', workers_path %> diff --git a/config/routes.rb b/config/routes.rb index b3eebb0..f77262c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -10,6 +10,9 @@ Rails.application.routes.draw do end resources :participants + resources :employers + resources :workers + diff --git a/test/controllers/employers_controller_test.rb b/test/controllers/employers_controller_test.rb new file mode 100644 index 0000000..1fa9bd6 --- /dev/null +++ b/test/controllers/employers_controller_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class EmployersControllerTest < ActionDispatch::IntegrationTest + # test "the truth" do + # assert true + # end +end diff --git a/test/controllers/workers_controller_test.rb b/test/controllers/workers_controller_test.rb new file mode 100644 index 0000000..3a925af --- /dev/null +++ b/test/controllers/workers_controller_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class WorkersControllerTest < ActionDispatch::IntegrationTest + # test "the truth" do + # assert true + # end +end