diff options
| author | Zog | 2018-01-29 11:54:47 +0100 | 
|---|---|---|
| committer | cedricnjanga | 2018-02-06 11:04:59 -0800 | 
| commit | 5e1b7a06a9958580fc18a0a4e33ff66ea6adcdf9 (patch) | |
| tree | bc05cba6cd5b2b594b5991f7b1d5b58ebdbddff1 /app/controllers | |
| parent | bde34143629e19273493fba8ba9e50bcd5f0c547 (diff) | |
| download | chouette-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.rb | 5 | ||||
| -rw-r--r-- | app/controllers/referential_vehicle_journeys_controller.rb | 5 | 
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  | 
