aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Donnet2018-01-31 14:06:38 +0100
committerGitHub2018-01-31 14:06:38 +0100
commitc100b5ae399d3c092801a13c26e8f28ea1a1797f (patch)
tree3b86b72cb889a7a68724feae94b788888fbff1db
parent38762e7e0292cbb70a59bcd5b5260eeefd042c94 (diff)
parent87841876b7fa2fdc9cee77cc465fa6e8db9fc417 (diff)
downloadchouette-core-c100b5ae399d3c092801a13c26e8f28ea1a1797f.tar.bz2
Merge pull request #240 from af83/5571-remove-pagination-on-referential-vjs-index
5571 Let the user select the number of items per page on ReferentialVehicleJourneys#index
-rw-r--r--app/assets/stylesheets/components/_forms.sass4
-rw-r--r--app/controllers/referential_vehicle_journeys_controller.rb2
-rw-r--r--app/views/referential_vehicle_journeys/_filters.html.slim3
-rw-r--r--config/locales/simple_form.en.yml1
-rw-r--r--config/locales/simple_form.fr.yml1
5 files changed, 10 insertions, 1 deletions
diff --git a/app/assets/stylesheets/components/_forms.sass b/app/assets/stylesheets/components/_forms.sass
index 214795b8b..998703ef0 100644
--- a/app/assets/stylesheets/components/_forms.sass
+++ b/app/assets/stylesheets/components/_forms.sass
@@ -450,6 +450,10 @@ table, .table
margin: 0
min-height: 41px
padding: 5px 15px
+ &.per-page-select
+ padding-top: 10px
+ .selected
+ font-weight: bold
.control-label
font-weight: 700
diff --git a/app/controllers/referential_vehicle_journeys_controller.rb b/app/controllers/referential_vehicle_journeys_controller.rb
index f93de29cc..89b3703a0 100644
--- a/app/controllers/referential_vehicle_journeys_controller.rb
+++ b/app/controllers/referential_vehicle_journeys_controller.rb
@@ -13,7 +13,7 @@ class ReferentialVehicleJourneysController < ChouetteController
@q ||= end_of_association_chain
@q = @q.with_stop_area_ids(params[:q][:stop_area_ids]) if params[:q] && params[:q][:stop_area_ids]
@q = @q.ransack(params[:q])
- @vehicle_journeys ||= @q.result.order(:published_journey_name).includes(:vehicle_journey_at_stops).paginate page: params[:page], per_page: 10
+ @vehicle_journeys ||= @q.result.order(:published_journey_name).includes(:vehicle_journey_at_stops).paginate page: params[:page], per_page: params[:per_page] || 10
@all_companies = Chouette::Company.where("id IN (#{@referential.vehicle_journeys.select(:company_id).to_sql})").distinct
@all_stop_areas = Chouette::StopArea.where("id IN (#{@referential.vehicle_journeys.joins(:stop_areas).select("stop_areas.id").to_sql})").distinct
end
diff --git a/app/views/referential_vehicle_journeys/_filters.html.slim b/app/views/referential_vehicle_journeys/_filters.html.slim
index f85ef1eb9..1301d3dab 100644
--- a/app/views/referential_vehicle_journeys/_filters.html.slim
+++ b/app/views/referential_vehicle_journeys/_filters.html.slim
@@ -6,6 +6,9 @@
button.btn.btn-default#search-btn type='submit'
span.fa.fa-search
.ffg-row
+ .form-group.per-page-select
+ = I18n.t("simple_form.per_page")
+ = %w(10 50 100).each_with_index.map{ |v, i| (params[:per_page] == v || params[:per_page].nil? && i == 0) ? "<span class='selected'>#{v}</span>" : link_to(v, referential_vehicle_journeys_path(@referential, q: params[:q], per_page: v)) }.join(' - ').html_safe
.form-group.togglable
= f.label Chouette::VehicleJourney.human_attribute_name(:company), required: false, class: 'control-label'
- if @all_companies.present?
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index ad722312e..ed4ad2e95 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -1,5 +1,6 @@
en:
simple_form:
+ "per_page": "Per page: "
"yes": 'Yes'
"no": 'No'
from: 'From'
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index cd5dd1fbe..a1868eef7 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -1,5 +1,6 @@
fr:
simple_form:
+ "per_page": "Afficher par: "
"yes": 'Oui'
"no": 'Non'
from: 'Du'