Commit e5cbddc7 by nnnghia98

favorite controller

parent a1a78ac9
class FavoritesController < ApplicationController
before_action :authenticate_user!, only: [:create, :destroy]
def create
redirect_to new_user_session_path unless user_signed_in?
redirect_to jobs_path if params[:job_id].blank?
@job_id = params[:job_id]
@all_favorite_job.find_by(job_id: @job_id) ||
@all_favorite_job.create!(user_id: current_user.id, job_id: @job_id, favorited_at: Time.current)
end
def destroy
redirect_to new_user_session_path unless user_signed_in?
redirect_to jobs_path if params[:job_id].blank?
@job_id = params[:job_id]
@all_favorite_job.find_by(job_id: @job_id).destroy
end
private
def find_favorited_job
@all_favorite_job = current_user.user_jobs.where.not(favorited_at: nil)
end
end
class JobsController < ApplicationController
before_action :authenticate_user!, only: [:apply, :confirm_apply, :finish_apply, :applied_jobs]
before_action :authenticate_user!, only: [:apply, :confirm_apply, :finish_apply]
before_action :find_user, only: :apply_available
before_action :validate_city_industry, only: :index
before_action :find_applied_jobs, only: [:apply, :confirm_apply, :finish_apply]
def index
@search = params
......@@ -42,8 +43,8 @@ class JobsController < ApplicationController
if params[:commit] == "Edit"
redirect_to apply_path(job_id: @job_id, params: confirm_apply_info_params)
else
current_user.user_jobs.find_by(user_id: current_user.id, job_id: @job_id) ||
current_user.user_jobs.create!(user_id: current_user.id, job_id: @job_id, applied_at: Time.current)
@all_applied_jobs.find_by(job_id: @job_id) ||
@all_applied_jobs.create!(user_id: current_user.id, job_id: @job_id, applied_at: Time.current)
end
end
......@@ -67,5 +68,8 @@ class JobsController < ApplicationController
elsif params[:industry_id]
redirect_to jobs_path unless Industry.find_by(id: params[:industry_id])
end
def find_applied_jobs
@all_applied_jobs = current_user.user_jobs.where.not(applied_at: nil)
end
end
......@@ -31,7 +31,7 @@
</div>
<div class="job_detail_button">
<%= link_to "Favorite", "#", class: "btn btn-primary float-right" %>
<%= render "shared/favorite_btn" %>
<% if user_signed_in? && @job.apply_available(current_user) %>
<button type="button" class="btn btn-primary float-right mx-3" disabled>Apply</button>
<% else %>
......
<% if user_signed_in? %>
<%= link_to "Favorite", "#", class: "btn btn-primary float-right" %>
<% else %>
<button type="button" class="btn btn-primary float-right" disabled>Favorite</button>
<% end %>
<% if user_signed_in? %>
<%= link_to "Unfavorite", "#", class: "btn btn-primary float-right" %>
<% else %>
<button type="button" class="btn btn-primary float-right" disabled>Unfavorite</button>
<% end %>
......@@ -21,4 +21,7 @@ Rails.application.routes.draw do
end
end
get "admin", to: "admins#index", as: :admin
resource :favorites, only: [:create, :destroy]
# post "favorite", to: "favorites#create"
# delete "unfavorite", to: "favorites#destroy"
end
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