Commit 104f2814 by nnnghia98

check if job had been applied

parent 9949413a
......@@ -22,4 +22,22 @@ class JobsController < ApplicationController
redirect_to jobs_path if params[:job_id].blank?
@job_id = params[:job_id]
end
def confirm_apply
end
def finish_apply
@apply_first_name = params["confirm_apply_info"]["first_name"]
@apply_last_name = params["confirm_apply_info"]["last_name"]
@apply_email = params["confirm_apply_info"]["email"]
@job_id = params["confirm_apply_info"]["job_id"]
if params[:commit] == "Edit"
render "jobs/apply"
else
UserJob.find_by(user_id: current_user.id, job_id: @job_id) ||
UserJob.create!(user_id: current_user.id, job_id: @job_id, applied_at: Time.current)
end
end
end
......@@ -5,3 +5,36 @@
<li class="breadcrumb-item">Finish</li>
</ol>
</nav>
<h3>Apply form</h3>
<%= form_for "apply_info", url: confirm_path, method: :get do |f| %>
<%= f.hidden_field :job_id, value: @job_id %>
<div class="form-group">
<%= f.label :first_name %>
<%= f.text_field :first_name, value: (@apply_first_name || @current_user.first_name),
class: "form-control", required: "true" %>
</div>
<div class="form-group">
<%= f.label :last_name %>
<%= f.text_field :last_name, value: (@apply_last_name || @current_user.last_name),
class: "form-control", required: "true" %>
</div>
<div class="form-group">
<%= f.label :email %>
<%= f.email_field :email, value: (@apply_email || @current_user.email),
class: "form-control", required: "true" %>
</div>
<div class="field">
<%= f.label :cv_path %>
<input type="file" class="form-control-file" id="cv_path">
</div>
<div class="actions text-center">
<%= f.submit "Confirm", class: "btn btn-lg btn-primary"%>
</div>
<% end %>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">New</li>
<li class="breadcrumb-item active" aria-current="page">Confirmation</li>
<li class="breadcrumb-item">Finish</li>
</ol>
</nav>
<h3>Confirmation</h3>
<%= form_for "confirm_apply_info", url: done_path, method: :post do |f| %>
<%= f.hidden_field :job_id, value: params["apply_info"]["job_id"] %>
<%= f.hidden_field :first_name, value: params["apply_info"]["first_name"] %>
<%= f.hidden_field :last_name, value: params["apply_info"]["last_name"] %>
<%= f.hidden_field :email, value: params["apply_info"]["email"] %>
<div class="form-group">
<%= f.label :first_name, params["apply_info"]["first_name"] %>
</div>
<div class="form-group">
<%= f.label :last_name, params["apply_info"]["last_name"] %>
</div>
<div class="form-group">
<%= f.label :email, params["apply_info"]["email"] %>
</div>
<div class="actions text-center">
<%= f.submit "Edit", class: "btn btn-lg btn-primary"%>
<%= f.submit "Done", class: "btn btn-lg btn-primary"%>
</div>
<% end %>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">New</li>
<li class="breadcrumb-item">Confirmation</li>
<li class="breadcrumb-item active" aria-current="page">Finish</li>
</ol>
</nav>
<h2>Thank you for apply</h2>
<%= link_to "Back to the TOP page", root_path %>
......@@ -32,5 +32,9 @@
<div class="job_detail_button">
<%= link_to "Favorite", "#", class: "btn btn-primary float-right" %>
<%= link_to "Apply", apply_path(job_id: @job.id), class: "btn btn-primary float-right mx-3" %>
<% if UserJob.find_by(user_id: current_user.id, job_id: @job.id) %>
<button type="button" class="btn btn-primary float-right mx-3" disabled>Apply</button>
<% else %>
<%= link_to "Apply", apply_path(job_id: @job.id), class: "btn btn-primary float-right mx-3" %>
<% end %>
</div>
......@@ -9,12 +9,6 @@
</div>
<div class="form-group">
<%= f.label :username %>
<em>(optional)</em><br/>
<%= f.text_field :username, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :password %>
<% if @minimum_password_length %>
<em>(<%= @minimum_password_length %> characters minimum)</em>
......
......@@ -6,6 +6,8 @@ Rails.application.routes.draw do
get "jobs/city/:city_id", to: "jobs#index", as: :city_jobs
get "jobs/industry/:industry_id", to: "jobs#index", as: :industry_jobs
get "apply", to: "jobs#apply"
get "confirm", to: "jobs#confirm_apply"
post "done", to: 'jobs#finish_apply'
devise_for :users
root "tops#index"
namespace :users do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment