Commit a89c829f by Son Do Hong

Merge branch 'feature/city_list' into 'master'

Feature/city_list/Updated city list

See merge request !5
parents b27de217 a861c741
......@@ -53,14 +53,14 @@ h1, h2, h3, h4, h5, h6 {
}
.row {
padding: 5px;
margin: 5px;
padding: 10px;
margin: 10px;
background-color: $sub-color;
}
.col-sm {
margin: 5px;
padding: 5px;
margin: 10px;
padding: 10px;
background-color: $primary-color;
}
......
class CitiesController < ApplicationController
def index
@top_vn_cities = City.sort_top_vn_cities
@top_inter_cities = City.sort_top_inter_cities
@top_cities = City.sort_top_cities
end
end
class IndustriesController < ApplicationController
def index
@top_industries = Industry.sort_top_industries
end
end
class TopController < ApplicationController
def index
@latest_jobs = Job.latest_jobs.take(Settings.top.job.limit)
@top_cities = City.sort_top_cities.take(Settings.top.city.limit)
@top_industries = Industry.sort_top_industries.take(Settings.top.industry.limit)
@latest_jobs = Job.latest_jobs
@top_cities = City.sort_top_cities
@top_industries = Industry.sort_top_industries
end
end
......@@ -3,7 +3,15 @@ class City < ApplicationRecord
has_many :jobs, through: :city_jobs
def self.sort_top_cities
@cities ||= all.sort_by(&:jobs_count).reverse
@cities ||= all.sort_by(&:jobs_count).reject{ |city| city.jobs_count.zero? }.reverse.take(Settings.top.city.limit)
end
def self.sort_top_vn_cities
@vn_cities ||= City.where(region: 0).includes(:city_jobs).sort_by(&:jobs_count).reject{ |city| city.jobs_count.zero? }.reverse.take(Settings.top.city.limit)
end
def self.sort_top_inter_cities
@inter_cities ||= City.where(region: 1).includes(:city_jobs).sort_by(&:jobs_count).reject{ |city| city.jobs_count.zero? }.reverse.take(Settings.top.city.limit)
end
def jobs_count
......
......@@ -3,7 +3,7 @@ class Industry < ApplicationRecord
has_many :jobs, through: :industry_jobs
def self.sort_top_industries
@industries ||= all.sort_by(&:jobs_count).reverse
@industries ||= all.sort_by(&:jobs_count).reverse.take(Settings.top.industry.limit)
end
def jobs_count
......
......@@ -3,6 +3,7 @@ class Job < ApplicationRecord
has_many :city_jobs
def self.latest_jobs
@latest ||= Job.order(created_at: :desc)
@latest ||= order(created_at: :desc).take(Settings.top.job.limit)
end
end
<div class="container">
<div class="row justify-content-md-center">
<div class="col-sm text-center">
<%= cities_list.name %>
(<%= cities_list.jobs_count %>)
</div>
</div>
</div>
<div class="container">
<div class="row justify-content-md-center">
<div class="col-sm">
<div class="col text-center">
<%= city.name %>
(<%= city.jobs.count %>)
(<%= city.jobs_count %> jobs)
</div>
</div>
</div>
<div class="container">
<div class="row justify-content-md-center">
<div class="col-sm text-center">
<%= international_cities.name %>
(<%= international_cities.jobs_count %>)
</div>
</div>
</div>
<div class="container">
<div class="row justify-content-md-center">
<div class="col-sm text-center">
<%= vn_cities.name %>
(<%= vn_cities.jobs_count %>)
</div>
</div>
</div>
<div class="center jumbotron">
<head>
<title><%= yield(:title) %> Venjob</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
</div>
<!--Display regions list-->
<div class="area-title-wrapper">
<h3>City List</h3>
</div>
<div class="area-content-wrapper">
<div class="row row-cols-2">
<div><h5><a href="#vietnam">Viet Nam</a></h5></div>
<div><h5><a href="#international">International</a></h5></div>
</div>
</div>
</br>
<!--Display cities of Vietnam-->
<div class="area-title-wrapper">
<h3>Viet Nam</h3>
</div>
<div id="vietnam">
<div class="row row-cols-3">
<%= render partial: "cities/vn_cities", collection: @top_vn_cities %>
</div>
</div>
</br>
<!--Display cities of International-->
<div class="area-title-wrapper">
<h3>International</h3>
</div>
<div id="international">
<div class="row row-cols-3">
<%= render partial: "cities/international_cities", collection: @top_inter_cities %>
</div>
</div>
<div class="container">
<div class="row justify-content-md-center">
<div class="col-sm text-center">
<%= industries_list.name %>
(<%= industries_list.jobs_count %> jobs)
</div>
</div>
</div>
<div class="container">
<div class="row justify-content-md-center">
<div class="col-sm">
<div class="col text-center">
<%= industry.name %>
(<%= industry.jobs.count %>)
(<%= industry.jobs_count %> jobs)
</div>
</div>
</div>
<div class="center jumbotron">
<head>
<title><%= yield(:title) %> Venjob</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
</div>
</br>
<!--Display industries list-->
<div class="area-title-wrapper">
<h3>Industry List</h3>
</div>
<div id="industry">
<div class="row row-cols-3">
<%= render partial: "industries/industries_list", collection: @top_industries %>
</div>
</div>
<div class="card text-center">
<div class="card-header">
Footer
</div>
<div class="card-body">
<h5 class="card-title">Venjob project</h5>
<a href="#">@Copyright Zigexn Ventura 2019</a>
......
<div class="row align-items-center">
<div class="col">
<div class="col text-center">
<%= job.title %>
</div>
</div>
......
......@@ -7,6 +7,7 @@
</div>
</head>
</div>
<!-- List of latest jobs-->
<div class="Job list">
<div class="Job-title-wrapper">
......@@ -17,33 +18,36 @@
<%= render partial: "top/job", collection: @latest_jobs %>
</div>
</div>
</br>
<!--List of top cities-->
<div class="City list">
<div class="City-title-wrapper">
<h3>Top Cities</h3>
</div>
<div class="City-content-wrapper">
<div class="row row-cols-3">
<%= render partial: "cities/city", collection: @top_cities %>
<form class="form-inline-city">
<button class="btn btn-outline-success" type="button">All cities</button>
</form>
</div>
</div>
<div class="City-title-wrapper">
<h3>Top Cities</h3>
</div>
<div class="city-content-wrapper">
<div class="row row-cols-3">
<%= render partial: "cities/city", collection: @top_cities %>
<form class="form-inline-city">
<%= link_to "All cities", cities_path, class:"btn btn-outline-success" %>
</form>
</div>
</div>
</br>
<div class="Industry list">
<div class="Industry-title-wrapper">
<h3>Top Industries</h3>
</div>
<div class="Industry-content-wrapper">
<div class="row row-cols-3">
<%= render partial: "industries/industry", collection: @top_industries %>
<form class="form-inline-industry">
<button class="btn btn-outline-success" type="button">All industries</button>
</form>
</div>
<!--List of top industries-->
<div class="industry-title-wrapper">
<h3>Top Industries</h3>
</div>
<div class="industry-content-wrapper">
<div class="row row-cols-3">
<%= render partial: "industries/industry", collection: @top_industries %>
<form class="form-inline-industry">
<%= link_to "All industries", industries_path, class:"btn btn-outline-success" %>
</form>
</div>
</div>
</div>
</br>
Rails.application.routes.draw do
root "top#index"
resources :cities, only: :index
resources :industries, only: :index
resource :top, only: :index
devise_for :users
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