Commit ae2ea703 by nnnghia98

show applied jobs

parent 29e2a9ed
class AdminsController < ApplicationController
def index
redirect_to new_user_session_path unless user_signed_in?
redirect_to root_path unless current_user.role?
@all_user = User.all
end
private
def user_params
params.require(:user).permit(:id, :email, :role)
end
end
class Users::AdminsController < ApplicationController
before_action :authenticate_user!, only: :index
before_action :validate_user, only: :index
def index
redirect_to root_path unless current_user.role?
params[:search_user] ||= ""
get_applied_jobs(params[:search_user])
end
private
def user_params
params.require(:user).permit(:id, :email, :first_name, :last_name, :role)
end
def get_applied_jobs(email)
@applied_jobs = []
if email != ""
users = User.find_by(email: email)
@applied_jobs = users.jobs
elsif email = "" || nil
all_applied_jobs = UserJob.where.not(applied_at: nil).to_a
(0..all_applied_jobs.count - 1).each do |each_job|
@applied_jobs << (all_applied_jobs[each_job].job)
end
end
end
def validate_user
if params[:search_user] != ""
redirect_to users_admin_path unless User.find_by(email: params[:search_user])
end
end
end
class Users::MyPagesController < ApplicationController class Users::MyPagesController < ApplicationController
before_action :authenticate_user!, only: [:show, :admin_control] before_action :authenticate_user!, only: [:show]
def show def show
end end
......
<%= select("user", "email", @all_user.collect {|u| u.email}, {include_blank: true}) %>
<div class="box">
<div class="job_data">
<dl class="job_data_row">
<dt>Title</dt>
<dd><%= link_to applied_jobs.title, job_path(applied_jobs.id) %></dd>
</dl>
<dl class="job_data_row">
<dt>Short description</dt>
<dd><%= applied_jobs.description&.truncate(250) %></dd>
</dl>
<dl class="job_data_row">
<dt>Salary</dt>
<dd><%= applied_jobs.salary %></dd>
</dl>
</div>
</div>
<h4>Search user's applied jobs:</h4>
<%= form_tag(users_admin_path, method: :get) do |f| %>
<%= text_field_tag :search_user, params[:search_user], placeholder: "Enter user's email" %>
<%= submit_tag "Search" %>
<% end %>
<%= render partial: "applied_jobs", collection: @applied_jobs %>
...@@ -11,11 +11,10 @@ Rails.application.routes.draw do ...@@ -11,11 +11,10 @@ Rails.application.routes.draw do
get "apply", to: "jobs#apply" get "apply", to: "jobs#apply"
get "confirm", to: "jobs#confirm_apply" get "confirm", to: "jobs#confirm_apply"
post "done", to: 'jobs#finish_apply' post "done", to: 'jobs#finish_apply'
get "admin", to: "admins#index", as: :admin
resources :admin, only: [:index, :show]
devise_for :users devise_for :users
root "tops#index" root "tops#index"
namespace :users do namespace :users do
get "admin", to: "admins#index", as: :admin
resource :my_page, only: :show do resource :my_page, only: :show do
collection do collection do
get "jobs", action: :applied_jobs, as: :applied_jobs get "jobs", action: :applied_jobs, as: :applied_jobs
......
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