diff options
| author | Alban Peignier | 2018-02-19 22:06:29 +0100 |
|---|---|---|
| committer | Alban Peignier | 2018-02-19 22:29:56 +0100 |
| commit | c559f9e022ee333d64b201afb64da16e692c1a2a (patch) | |
| tree | 4c9c8404d333f90691e0738969deb20c6ea0499c /app/controllers | |
| parent | cc826a004dc05a3587e058b96d6fee5886ec1241 (diff) | |
| download | chouette-core-c559f9e022ee333d64b201afb64da16e692c1a2a.tar.bz2 | |
Search VehicleJourneys with one StopArea or two ordered StopAreas. Refs #5911
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/referential_vehicle_journeys_controller.rb | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/app/controllers/referential_vehicle_journeys_controller.rb b/app/controllers/referential_vehicle_journeys_controller.rb index 3f3f3d9e6..b07d6c600 100644 --- a/app/controllers/referential_vehicle_journeys_controller.rb +++ b/app/controllers/referential_vehicle_journeys_controller.rb @@ -21,8 +21,16 @@ class ReferentialVehicleJourneysController < ChouetteController @q = ransack_period_range(scope: @q, error_message: t('vehicle_journeys.errors.time_table'), query: :with_matching_timetable, prefix: :time_table) @starting_stop = params[:q] && params[:q][:stop_areas] && params[:q][:stop_areas][:start].present? ? Chouette::StopArea.find(params[:q][:stop_areas][:start]) : nil @ending_stop = params[:q] && params[:q][:stop_areas] && params[:q][:stop_areas][:end].present? ? Chouette::StopArea.find(params[:q][:stop_areas][:end]) : nil - @q = @q.starting_with(@starting_stop&.id) - @q = @q.ending_with(@ending_stop&.id) + + if @starting_stop + @q = + unless @ending_stop + @q.with_stop_area_id(@starting_stop.id) + else + @q.with_ordered_stop_area_ids(@starting_stop.id, @ending_stop.id) + end + end + @q = @q.ransack(params[:q]) @vehicle_journeys ||= @q.result @vehicle_journeys = parse_order @vehicle_journeys |
