Hungpt jobs
All features of job
-
Toggle commit list
-
1 1 class JobsController < ApplicationController 2 2 def applied_jobs 3 3 @applied_jobs = Apply.where(user_id: current_user.id) 4 render :applied_jobs 4 end 5 6 def detail 7 @job = Job.find(params[:id]) -
Master
fixed
-
Master
I think we should use Job.find_by_id(
params[:id]) redirect 404 if job.blank? -
Master
I have cached an error ActiveRecord::RecordNotFound in application_controller and render 404 page.
-
1 1 class JobsController < ApplicationController 2 2 def applied_jobs 3 3 @applied_jobs = Apply.where(user_id: current_user.id) 4 render :applied_jobs 4 end 5 6 def detail 7 @job = Job.find(params[:id]) 8 History.new(user: current_user, job: @job).save if History.where(user: current_user, job: @job).blank? -
-
Master
fixed
-
12 @job_id = params[:job_id] 13 end 14 15 def confirm 16 @fullname = params[:fullname] 17 @email = params[:email] 18 @job_id = params[:job_id] 19 end 20 21 def done 22 @email = params[:email] 23 @fullname = params[:fullname] 24 @cv_link = 'link to download' 25 @job = Job.find(params[:job_id]) 26 27 @apply_job = Apply.new(user: current_user, job: @job, applied_at: Time.zone.now).save -
MasterEdited by Van Toan Vu
we dont need instance variable here:
@cv_link = 'link to download'and
if @apply_job.save flash sucess else flash error and redirect, or render end -
-
Master
fixed, variable: @cv_link use in send mail conent.
-
17 @email = params[:email] 18 @job_id = params[:job_id] 19 end 20 21 def done 22 @email = params[:email] 23 @fullname = params[:fullname] 24 @cv_link = 'link to download' 25 @job = Job.find(params[:job_id]) 26 27 @apply_job = Apply.new(user: current_user, job: @job, applied_at: Time.zone.now).save 28 ApplyMailer.apply_mail(@email, @fullname, @cv_link, @job).deliver 29 end 30 31 def show 32 unless params[:city_id].nil? -
-
Master
-
Master
preference different between deliver vs deliver_now, deliver_later https://stackoverflow.com/questions/32619366/difference-between-action-job-mailers-deliver-now-and-deliver-later
-
23 @fullname = params[:fullname] 24 @cv_link = 'link to download' 25 @job = Job.find(params[:job_id]) 26 27 @apply_job = Apply.new(user: current_user, job: @job, applied_at: Time.zone.now).save 28 ApplyMailer.apply_mail(@email, @fullname, @cv_link, @job).deliver 29 end 30 31 def show 32 unless params[:city_id].nil? 33 @job_count = Job.where(city_id: params[:city_id]).count 34 @jobs = Job.where(city_id: params[:city_id]).page params[:page] 35 @search_conditions = "All jobs in #{City.find(params[:city_id]).name}" 36 end 37 38 unless params[:category_id].nil? -
-
Master
fixed
-
30 31 def show 32 unless params[:city_id].nil? 33 @job_count = Job.where(city_id: params[:city_id]).count 34 @jobs = Job.where(city_id: params[:city_id]).page params[:page] 35 @search_conditions = "All jobs in #{City.find(params[:city_id]).name}" 36 end 37 38 unless params[:category_id].nil? 39 @job_ids = JobCategory.where(category_id: params[:category_id]).select(:job_id) 40 @job_count = Job.where(id: @job_ids).count 41 @jobs = Job.where(id: @job_ids).page params[:page] 42 @search_conditions = "All jobs in #{Category.find(params[:category_id]).name}" 43 end 44 45 unless params[:company_id].nil? -
-
Master
fixed
-
-
-
-
-
-
app/assets/javascripts/custom.js 0 → 100644
1 $(function() { 2 $( ".favorite_add" ).on( "click", function() { -
Master
I think we use remote: true is better use javascript.
-
Master
fixed
-
-
-
1 1 class JobsController < ApplicationController 2 2 def applied_jobs 3 3 @applied_jobs = Apply.where(user_id: current_user.id) -
Master
Please change
Apply.where(user_id: current_user.id)tocurrent_user.applies -
-
Master
fixed
-
-
1 1 class JobsController < ApplicationController 2 2 def applied_jobs 3 3 @applied_jobs = Apply.where(user_id: current_user.id) 4 render :applied_jobs 4 end 5 6 def detail 7 @job = Job.find(params[:id]) 8 @history = History.find_or_create_by(user: current_user, job: @job) 9 @history.touch(:updated_at) -
Master
Please remove this line.
-
Master
fixed
-
-
-
1 1 class JobsController < ApplicationController 2 2 def applied_jobs 3 3 @applied_jobs = Apply.where(user_id: current_user.id) 4 render :applied_jobs 4 end 5 6 def detail 7 @job = Job.find(params[:id]) 8 @history = History.find_or_create_by(user: current_user, job: @job) 9 @history.touch(:updated_at) 10 end 11 12 def apply 13 @apply_form = ApplyForm.new(apply_params) 14 @apply_form.fullname ||= current_user.fullname -
12 def apply 13 @apply_form = ApplyForm.new(apply_params) 14 @apply_form.fullname ||= current_user.fullname 15 @apply_form.email ||= current_user.email 16 @apply_form.job_id ||= params[:job_id] 17 end 18 19 def apply_params 20 params.permit(:fullname, :email) 21 end 22 23 def confirm 24 @apply_form = ApplyForm.new(confirm_params) 25 return if @apply_form.valid? 26 flash[:error] = @apply_form.errors.full_messages.to_sentence 27 render jobs_apply_path -
26 flash[:error] = @apply_form.errors.full_messages.to_sentence 27 render jobs_apply_path 28 end 29 30 def confirm_params 31 params.require(:apply_form).permit(:fullname, :email, :job_id) 32 end 33 34 def done 35 @apply_form = ApplyForm.new(confirm_params) 36 @cv_link = 'link to download' 37 @job = Job.find(@apply_form.job_id) 38 39 @apply_job = Apply.new(user: current_user, job: @job, applied_at: Time.zone.now) 40 if @apply_job.save 41 ApplyMailer.apply_mail(@apply_form.email, @apply_form.fullname, @cv_link, @job).deliver_now -
Master
Please change
ApplyMailer.apply_mail(@apply_form.email, @apply_form.fullname, @cv_link, @job)toApplyMailer.apply_mail(@apply_form, @job, @cv_link) -
-
Master
fixed
-
-
36 @cv_link = 'link to download' 37 @job = Job.find(@apply_form.job_id) 38 39 @apply_job = Apply.new(user: current_user, job: @job, applied_at: Time.zone.now) 40 if @apply_job.save 41 ApplyMailer.apply_mail(@apply_form.email, @apply_form.fullname, @cv_link, @job).deliver_now 42 flash[:success] = 'Apply success!' 43 else 44 flash[:error] = 'Apply error!' 45 render jobs_apply_path 46 end 47 48 end 49 50 def show 51 unless params[:city_id].blank? -
Master
Please change if
params[:city_id].present? -
-
Master
fixed
-
-
37 @job = Job.find(@apply_form.job_id) 38 39 @apply_job = Apply.new(user: current_user, job: @job, applied_at: Time.zone.now) 40 if @apply_job.save 41 ApplyMailer.apply_mail(@apply_form.email, @apply_form.fullname, @cv_link, @job).deliver_now 42 flash[:success] = 'Apply success!' 43 else 44 flash[:error] = 'Apply error!' 45 render jobs_apply_path 46 end 47 48 end 49 50 def show 51 unless params[:city_id].blank? 52 @job_count = Job.where(city_id: params[:city_id]).count -
Master
Please put
Job.where(city_id: params[:city_id])to scope. -
-
Master
fixed
-
-
42 flash[:success] = 'Apply success!' 43 else 44 flash[:error] = 'Apply error!' 45 render jobs_apply_path 46 end 47 48 end 49 50 def show 51 unless params[:city_id].blank? 52 @job_count = Job.where(city_id: params[:city_id]).count 53 @jobs = Job.where(city_id: params[:city_id]).page params[:page] 54 @search_conditions = "All jobs in #{City.find(params[:city_id]).name}" 55 end 56 57 unless params[:category_id].blank? -
Master
Please change to if
params[:category_id].present? -
-
Master
fixed
-
-
app/views/apply_mailer/apply_mail.html.erb 0 → 100644
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta content='text/html; charset=UTF-8' http-equiv='Content-Type' /> 5 </head> 6 <body> 7 <p> Dear <%= @fullname %></p> 8 <p> Thank you for applied with VenJOB. Your applied job's information is as follow: </p> 9 <p> Job title: <%= @job.name %> </p> 10 <p> Location: <%= @job.city.name unless @job.city.nil? %> </p> -
Master
please change
@job.city.try(:name) -
-
Master
fixed
-
-
app/views/apply_mailer/apply_mail.html.erb 0 → 100644
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta content='text/html; charset=UTF-8' http-equiv='Content-Type' /> 5 </head> 6 <body> 7 <p> Dear <%= @fullname %></p> 8 <p> Thank you for applied with VenJOB. Your applied job's information is as follow: </p> 9 <p> Job title: <%= @job.name %> </p> 10 <p> Location: <%= @job.city.name unless @job.city.nil? %> </p> 11 <p> Company: <%= @job.company.name unless @job.company.nil? %> </p> -
Master
Please change
@job.company.try(:name) -
-
Master
fixed
-
-
app/views/apply_mailer/apply_mail.text.erb 0 → 100644
1 Dear <%= @fullname %> 2 Thank you for applied with VenJOB. Your applied job's information is as follow: 3 Job title: <%= @job.name %> 4 Location: <%= @job.city.name unless @job.city.nil? %> -
Master
The same above
-
-
Master
fixed
-
-
app/views/apply_mailer/apply_mail.text.erb 0 → 100644
1 Dear <%= @fullname %> 2 Thank you for applied with VenJOB. Your applied job's information is as follow: 3 Job title: <%= @job.name %> 4 Location: <%= @job.city.name unless @job.city.nil? %> 5 Company: <%= @job.company.name unless @job.company.nil? %> -
Master
The same above
-
-
Master
fixed
-
-
1 1 <%- provide('title', 'Industries') -%> 2 2 <div class="well"> 3 <p> Industry list </p> 3 <h3> Industry list </h3> 4 4 <div class="list_categories"> 5 5 <div class="row"> 6 6 <%- @categories.each do |category| -%> 7 7 <%- if category.job_category.count > 0 -%> 8 8 <div class="col-md-3"> 9 <%= category.name %> 9 <%= link_to category.name, jobs_show_path(category_id: category.id) %> -
Master
Please change
jobs_show_path(category_id: category.id)tojobs_show_path(category.id) -
-
Master
fixed
-
-
13 13 </div> 14 14 <%- @areas.each do |area| -%> 15 15 <div class="well"> 16 <p> <%= area.name %> </p> 16 <h3> <%= area.name %> </h3> 17 17 <div class="row"> 18 18 <%- get_city_by_area(area).each do |city| -%> -
Master
Please put this method in area model
-
-
Master
fixed
-
-
23 <%- end -%> 5 <div class="table-responsive"> 6 <table class="table"> 7 <thead> 8 <th> Job </th> 9 <th> Description </th> 10 <th> Location </th> 11 <th style="width: 150px;"> Salary </th> 12 <th style="width: 100px;"> Applied At </th> 13 </thead> 14 <tbody> 15 <%- @applied_jobs.each do |apply| -%> 16 <tr> 17 <td> <%= link_to apply.job.name, jobs_detail_path(id: apply.job.id) %> </td> 18 <td> <%= truncate(apply.job.description, length: 250) %> </td> 19 <td> <%= apply.job.city.name unless apply.job.city.nil? %> </td> -
Master
Please change apply.job.city.try(:name)
-
-
Master
fixed
-
-
Toggle commit list
-
added 1 commit
- fbedec7d - Fix comment - pass param to ApplyMailer.apply_mail method
Toggle commit list -
-
added 1 commit
- 4c890014 - Fix comment - create scope to find all jobs by city,company
Toggle commit list -
-
Toggle commit list
-
Toggle commit list
-
Toggle commit list
-
-
Toggle commit list
-
-
app/views/jobs/index.html.erb 0 → 100644
22 <tr> 23 <th>Job</th> 24 <th>Description</th> 25 <th>Location</th> 26 <th>Salary</th> 27 </tr> 28 </thead> 29 <tbody> 30 <%- @jobs.each do |job| -%> 31 <tr> 32 <td> <%= link_to job.name, job_path(job.id) %> </td> 33 <td> <%= truncate(job.description, length: 250) %> </td> 34 <td> <%= job.city.try(:name) %> </td> 35 <td> <%= job.salary %> </td> 36 <td> 37 <%- if Favorite.where(user: current_user, job: job).blank? -%> -
Master
don't query DB in view.
-
-
Master
fixed
-
-
app/views/jobs/index.html.erb 0 → 100644
29 <tbody> 30 <%- @jobs.each do |job| -%> 31 <tr> 32 <td> <%= link_to job.name, job_path(job.id) %> </td> 33 <td> <%= truncate(job.description, length: 250) %> </td> 34 <td> <%= job.city.try(:name) %> </td> 35 <td> <%= job.salary %> </td> 36 <td> 37 <%- if Favorite.where(user: current_user, job: job).blank? -%> 38 <div class="col-md-3" id="favorite_<%= job.id %>"> 39 <%- if user_signed_in? -%> 40 <%= link_to 'Favorite', jobs_favorite_path(job_id: job.id, format: 'js'), remote: true, class: 'favorite_add' %> 41 <%- else -%> 42 <%= link_to 'Favorite', new_user_session_path %> 43 <%- end -%> 44 <input type="hidden" id="job_id" name="job_id" value="<%= job.id %>"> -
Master
what the purpose of this field?
-
-
Master
fixed
-
-
1 1 <header class="navbar navbar-fixed-top navbar-inverse"> 2 2 <div class="container"> 3 <%= link_to image_tag('', alt: 'veNJOB'), root_path, id: 'logo' %> 3 <%= link_to image_tag('http://images.careerbuilder.vn/background/ok_cb_vipbn_vtlc_1440x430_1496992170.jpg', width: '100px'), root_path, id: 'logo'%> 4 4 <nav> 5 5 <ul class="nav navbar-nav navbar-right"> 6 6 <%- if user_signed_in? -%> 7 7 <li> <%= link_to 'My profile', registrations_show_path %> </li> 8 8 <li> <%= link_to 'Log out', destroy_user_session_path, method: :delete %> </li> 9 <li> <%= link_to 'Favorite', jobs_favorited_jobs_path %> </li> 10 <li> <%= link_to 'History', jobs_history_jobs_path %> </li> 9 11 <%- else -%> 10 12 <li> <%= link_to 'Login', new_user_session_path %> </li> -
app/controllers/companies_controller.rb 0 → 100644
1 class CompaniesController < ApplicationController 2 3 def show 4 @job_count = Job.all_jobs_in_company_id(params[:id]).count 5 @jobs = Job.where(company_id: params[:id]).page params[:page] 6 @search_conditions = "All jobs in #{Company.find(params[:id]).name}" -
MasterEdited by Van Toan Vu
@company = Company.find(params[:id])so in view you can reuse it, for example @company.address, @company.something
All jobs in <%= @company.name %>
-
-
1 1 class JobsController < ApplicationController 2 2 def applied_jobs 3 @applied_jobs = Apply.where(user_id: current_user.id) 4 render :applied_jobs 3 @applied_jobs = current_user.applies 4 end 5 6 def show 7 @job = Job.find(params[:id]) 8 @history = History.find_or_create_by(user: current_user, job: @job) 9 @history.updated_at = Time.zone.now 10 @history.save 11 end 12 13 def apply 14 @apply_form = ApplyForm.new(apply_params) -
Master
@apply_form being used in many actions, you should use before_action to DRY. same for @job, @jobs etc
-
-
Toggle commit list
-
3 @applied_jobs = Apply.where(user_id: current_user.id) 4 render :applied_jobs 3 @applied_jobs = current_user.applies 4 end 5 6 def show 7 @job = Job.find(params[:id]) 8 @history = History.find_or_create_by(user: current_user, job: @job) 9 @history.updated_at = Time.zone.now 10 @history.save 11 end 12 13 def apply 14 @apply_form = ApplyForm.new(apply_params) 15 @apply_form.fullname ||= current_user.fullname 16 @apply_form.email ||= current_user.email -
MasterEdited by Van Toan Vu
what happen if current_user not exist? don't let logic in front end, never trust front end
-
-
5 6 def show 7 @job = Job.find(params[:id]) 8 @history = History.find_or_create_by(user: current_user, job: @job) 9 @history.updated_at = Time.zone.now 10 @history.save 11 end 12 13 def apply 14 @apply_form = ApplyForm.new(apply_params) 15 @apply_form.fullname ||= current_user.fullname 16 @apply_form.email ||= current_user.email 17 @apply_form.job_id ||= params[:job_id] 18 end 19 20 def apply_params -
Master
-
-
42 ApplyMailer.apply_mail(@apply_form, @cv_link, @job).deliver_now 43 flash[:success] = 'Apply success!' 44 else 45 flash[:error] = 'Apply error!' 46 render jobs_apply_path 47 end 48 49 end 50 51 def index 52 end 53 54 def favorite 55 @job_id = params[:job_id] 56 job = Job.find(@job_id) 57 Favorite.new(user: current_user, job: job).save if Favorite.where(user: current_user, job: job).blank? -
Master
-
-
-
48 49 end 50 51 def index 52 end 53 54 def favorite 55 @job_id = params[:job_id] 56 job = Job.find(@job_id) 57 Favorite.new(user: current_user, job: job).save if Favorite.where(user: current_user, job: job).blank? 58 end 59 60 def favorite_remove 61 @job_id = params[:job_id] 62 job = Job.find(@job_id) 63 Favorite.where(user: current_user, job: job).destroy_all -
Master
what happen if
Favorite.where(user: current_user, job: job)not found
-
-
57 Favorite.new(user: current_user, job: job).save if Favorite.where(user: current_user, job: job).blank? 58 end 59 60 def favorite_remove 61 @job_id = params[:job_id] 62 job = Job.find(@job_id) 63 Favorite.where(user: current_user, job: job).destroy_all 64 end 65 66 def favorited_jobs 67 @favorited_jobs = Favorite.where(user: current_user) 68 69 end 70 71 def history_jobs 72 @history_jobs = History.all -
Master
paginate man
-
-
Toggle commit list
-
Toggle commit list