aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorZog2018-01-29 11:54:47 +0100
committercedricnjanga2018-02-06 11:04:59 -0800
commit5e1b7a06a9958580fc18a0a4e33ff66ea6adcdf9 (patch)
treebc05cba6cd5b2b594b5991f7b1d5b58ebdbddff1 /app/controllers
parentbde34143629e19273493fba8ba9e50bcd5f0c547 (diff)
downloadchouette-core-5e1b7a06a9958580fc18a0a4e33ff66ea6adcdf9.tar.bz2
Refs #5754; Add a filter on purchase_windows on ReferentialVJs#index
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/concerns/ransack_date_filter.rb5
-rw-r--r--app/controllers/referential_vehicle_journeys_controller.rb5
2 files changed, 8 insertions, 2 deletions
diff --git a/app/controllers/concerns/ransack_date_filter.rb b/app/controllers/concerns/ransack_date_filter.rb
index 0fbde91d3..99889294c 100644
--- a/app/controllers/concerns/ransack_date_filter.rb
+++ b/app/controllers/concerns/ransack_date_filter.rb
@@ -29,13 +29,14 @@ module RansackDateFilter
def ransack_period_range **options
return options[:scope] unless !!@begin_range && !!@end_range
+ scope = options[:scope]
if @begin_range > @end_range
flash.now[:error] = options[:error_message]
else
- scope = options[:scope].send options[:query], @begin_range..@end_range
+ scope = scope.send options[:query], @begin_range..@end_range
end
scope
end
end
-end \ No newline at end of file
+end
diff --git a/app/controllers/referential_vehicle_journeys_controller.rb b/app/controllers/referential_vehicle_journeys_controller.rb
index c3fcde0b1..385405b84 100644
--- a/app/controllers/referential_vehicle_journeys_controller.rb
+++ b/app/controllers/referential_vehicle_journeys_controller.rb
@@ -3,6 +3,10 @@
#
class ReferentialVehicleJourneysController < ChouetteController
include ReferentialSupport
+ include RansackDateFilter
+
+ before_action only: [:index] { set_date_time_params("purchase_window", Date) }
+
defaults :resource_class => Chouette::VehicleJourney, collection_name: :vehicle_journeys
requires_feature :referential_vehicle_journeys
@@ -12,6 +16,7 @@ class ReferentialVehicleJourneysController < ChouetteController
def collection
@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 = ransack_period_range(scope: @q, error_message: t('vehicle_journeys.errors.purchase_window'), query: :in_purchase_window)
@q = @q.ransack(params[:q])
@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