Commit 191a806f by Đường Sỹ Hoàng

Add remove method to remove button,add applied_job index page, add pagination

parent 7b418aec
class ApplyController < ApplicationController class ApplyController < ApplicationController
before_action :check_user_logged_in? before_action :check_user_logged_in?
before_action :load_job, only: [:new, :done, :confirm] before_action :load_job, only: [:new, :done, :confirm, :index]
def index
@applies = current_user.applies.includes(:job)
@applies = @applies.page(params[:page]).per(Settings.apply.job.limit)
end
def new def new
@apply = if params[:apply].present? @apply = if params[:apply].present?
......
class Apply < UserJob class Apply < UserJob
# delegate :title, :applied_at, :description, :salary, :position, :requirement, to: :user_jobs, prefix: :true
end end
<% job = applied.job %>
<dl class="row-cols">
<dt class="col-sm-6">Job Title:</dt>
<dd class="col-sm-12" <% link_to job_detail_path(job.id)%>>
<%= link_to job.title, job_detail_path(job.id) %>
</dd>
<dt class="col-sm-6">Position:</dt>
<dd class="col-sm-6">
<%= job.position%>
</dd>
<dt class="col-sm-6">Salary:</dt>
<dd class="col-sm-6">
<%= job.salary %>
</dd>
<dt class="col-sm-6">Applied at:</dt>
<dd class="col-sm-9">
<%= job.updated_at %>
</dd>
</dl>
<dl class="row-cols">
<dt class="col-sm-6">Description:</dt>
<dd class="col-sm-9">
<%= truncate(simple_format(job.description), escape: false, length: 250) %>
</dd>
</dt>
</dl>
<dl class="row-cols">
<dt class="col-sm-6">Requirement: </dt>
<dd class="col-sm-9">
<%= truncate(simple_format(job.requirement), escape: false, length: 250) %>
</dd>
</dt>
</dl>
</br>
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
<%= f.hidden_field :cv_url, value: @apply.cv_url %> <%= f.hidden_field :cv_url, value: @apply.cv_url %>
</div> </div>
</br> </br>
<%= @apply.applied_at %>
<%= f.hidden_field :applied_at, value: @apply.applied_at %>
<div class = "form-group"> <div class = "form-group">
<div class = "actions"> <div class = "actions">
......
<div class="area-title-wrapper">
<h3>Applied Jobs List</h3>
</div>
<div>
<%= paginate @applies %>
<div class="row row-cols-3">
<%= render partial: "apply/applied", collection: @applies %>
</div>
</div>
<%= paginate @applies %>
<% job = favorite.job %> <% job = favorite.job %>
<dl class="row-cols-3" id="favorite_job_<%= job.id %>"> <dl class="row-cols" id = "favorite_job_<%= job.id %>">
<dt class="col-sm-9">Job Title:</dt> <dt class="col-sm-6">Job Title:</dt>
<dd class="col-sm-9"> <dd class="col-sm-9">
<%= job.title %> <%= job.title %>
</dd> </dd>
...@@ -10,25 +10,21 @@ ...@@ -10,25 +10,21 @@
</dd> </dd>
<dt class="col-sm-6">Salary:</dt> <dt class="col-sm-6">Salary:</dt>
<dd class="col-sm-9"><%= job.salary %></dd> <dd class="col-sm-9"><%= job.salary %></dd>
</dl>
<dl class="row-cols-1">
<dt class="col-sm-6">Description:</dt> <dt class="col-sm-6">Description:</dt>
<dd class="col-sm-9"> <dd class="col-sm-9">
<%= truncate(simple_format(job.description), escape: false, length: 250) %> <%= truncate(simple_format(job.description), escape: false, length: 250) %>
</dd> </dd>
</dl>
<dl class="row-cols-1">
<dt class="col-sm-6">Requirement: </dt> <dt class="col-sm-6">Requirement: </dt>
<dd class="col-sm-9"> <dd class="col-sm-9">
<%= truncate(simple_format(job.requirement), escape: false, length: 250) %> <%= truncate(simple_format(job.requirement), escape: false, length: 250) %>
</dd> </dd>
</dl>
<dd class="col-sm-9"> <dd class="col-sm-9">
<%= link_to "Remove", job_favorite_path(job, favorite), <%= link_to "Remove", job_favorite_path(job, favorite),
method: :delete, method: :delete,
remote: true, remote: true,
class: "btn btn-outline-secondary" %> class: "btn btn-danger" %>
</dd> </dd>
</dl>
<dd>
<%= link_to "Favorite", job_favorites_path(job, current_user.favorites.build), <%= link_to "Favorite", job_favorites_path(job, current_user.favorites.build),
method: :post, method: :post,
remote: true, remote: true,
class: "btn btn-outline-secondary" %> class: "btn btn-warning text-center" %>
</dd>
$("#favorite_form").html("<%= escape_javascript(render('favorites/favorite_job', job: @job )) %>"); $("#favorite_form").html("<%= escape_javascript(render('favorites/favorite_job', job: @job )) %>");
$("#favorite_job_<%= @job.id %>").remove();
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<dt class="col-sm-3">Requirement:</dt> <dt class="col-sm-3">Requirement:</dt>
<dd class="col-sm-9"><%= simple_format @job.requirement %></dd> <dd class="col-sm-9"><%= simple_format @job.requirement %></dd>
</dl> </dl>
<%= link_to "Apply", apply_path, class: "btn btn-primary" %> <%= link_to_if(current_user.applies.find_by(job_id: @job.id).nil?, "Apply", apply_path, class: "btn btn-primary") { link_to "Apply", apply_path, class: "btn btn-primary disabled"} %>
<%= render "favorites/favorite_form", job: @job %> <%= render "favorites/favorite_form", job: @job %>
</div> </div>
</div </div
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<% if user_signed_in? %> <% if user_signed_in? %>
<%= link_to "Log out", destroy_user_session_path, method: :delete, class: "btn btn-outline-success" %> <%= link_to "Log out", destroy_user_session_path, method: :delete, class: "btn btn-outline-success" %>
<%= link_to "Favorite", favorites_path, method: :get, class: "btn btn-outline-success" %> <%= link_to "Favorite", favorites_path, method: :get, class: "btn btn-outline-success" %>
<%= link_to "Applied jobs", applied_path, method: :get, class: "btn btn-outline-success" %>
<button class="btn btn-outline-success" type="button">History</button> <button class="btn btn-outline-success" type="button">History</button>
<% else %> <% else %>
<form class="form-inline"> <form class="form-inline">
......
...@@ -35,4 +35,5 @@ Rails.application.routes.draw do ...@@ -35,4 +35,5 @@ Rails.application.routes.draw do
get "apply/:job_id", to: "apply#new", as: "apply" get "apply/:job_id", to: "apply#new", as: "apply"
post "confirm/:job_id", to: "apply#confirm", as: "confirm" post "confirm/:job_id", to: "apply#confirm", as: "confirm"
post "done/:job_id", to: "apply#done", as: "done" post "done/:job_id", to: "apply#done", as: "done"
get "applied", to: "apply#index", as: "applied"
end end
...@@ -12,3 +12,7 @@ top: ...@@ -12,3 +12,7 @@ top:
all: all:
job: job:
limit: 20 limit: 20
apply:
job:
limit: 5
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