diff options
| author | Marc Florisson | 2014-09-19 11:12:04 +0200 |
|---|---|---|
| committer | Marc Florisson | 2014-09-19 11:12:04 +0200 |
| commit | 1bfbcbfb0dd0580fe9e36bec0e1d5aa663c955dd (patch) | |
| tree | 64dacf50b0f15515585a0d8bdfd3de1a99fc078e /app/controllers | |
| parent | bf6bea71846d2ab079d592086251c6af426c80d9 (diff) | |
| download | chouette-core-1bfbcbfb0dd0580fe9e36bec0e1d5aa663c955dd.tar.bz2 | |
refactor vehicles_journey#index. Mantis 26842
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/journey_patterns_controller.rb | 11 | ||||
| -rw-r--r-- | app/controllers/vehicle_journeys_controller.rb | 28 |
2 files changed, 19 insertions, 20 deletions
diff --git a/app/controllers/journey_patterns_controller.rb b/app/controllers/journey_patterns_controller.rb index 084f34b03..69b518d3f 100644 --- a/app/controllers/journey_patterns_controller.rb +++ b/app/controllers/journey_patterns_controller.rb @@ -2,6 +2,7 @@ class JourneyPatternsController < ChouetteController defaults :resource_class => Chouette::JourneyPattern respond_to :html + respond_to :json, :only => :index respond_to :js, :only => [:new_vehicle_journey, :show] respond_to :kml, :only => :show @@ -14,7 +15,7 @@ class JourneyPatternsController < ChouetteController alias_method :route, :parent alias_method :journey_pattern, :resource - def index + def index index! do |format| format.html { redirect_to referential_line_route_path(@referential,@line,@route) } end @@ -56,10 +57,16 @@ class JourneyPatternsController < ChouetteController @vehicle_journey.update_journey_pattern(resource) render "vehicle_journeys/select_journey_pattern" end - # overwrite inherited resources to use delete instead of destroy + # overwrite inherited resources to use delete instead of destroy # foreign keys will propagate deletion) def destroy_resource(object) object.delete end + + def collection + @q = route.journey_patterns.search( params[:q]) + @journey_patterns ||= @q.result(:distinct => true).order(:name) + end + end diff --git a/app/controllers/vehicle_journeys_controller.rb b/app/controllers/vehicle_journeys_controller.rb index 18cd6b96c..637e30365 100644 --- a/app/controllers/vehicle_journeys_controller.rb +++ b/app/controllers/vehicle_journeys_controller.rb @@ -9,10 +9,6 @@ class VehicleJourneysController < ChouetteController end end - def timeless - @vehicle_journeys = parent.vehicle_journeys.timeless - end - def select_journey_pattern if params[:journey_pattern_id] selected_journey_pattern = Chouette::JourneyPattern.find( params[:journey_pattern_id]) @@ -51,15 +47,18 @@ class VehicleJourneysController < ChouetteController alias_method :vehicle_journey, :resource def collection - adapt_time_params - @q = select_vehicles.search(params[:q]) - @vehicle_journeys ||= @q.result.order( "vehicle_journey_at_stops.departure_time").paginate(:page => params[:page], :per_page => 8) + @vehicle_filter = VehicleFilter.new( adapted_params) + @q = @vehicle_filter.vehicle_journeys.search( @vehicle_filter.filtered_params) + @vehicle_journeys ||= @q.result( :distinct => true ).order( "vehicle_journey_at_stops.departure_time").paginate(:page => params[:page], :per_page => 8) end - def adapt_time_params - hour_entry = "vehicle_journey_at_stops_departure_time_gt(4i)".to_sym - if params[:q] && params[:q][ hour_entry] - params[:q].merge! hour_entry => (params[:q][ hour_entry].to_i - utc_offset) + def adapted_params + params.tap do |adapted_params| + adapted_params.merge!( :route => parent) + hour_entry = "vehicle_journey_at_stops_departure_time_gt(4i)".to_sym + if params[:q] && params[:q][ hour_entry] + adapted_params[:q].merge! hour_entry => (params[:q][ hour_entry].to_i - utc_offset) + end end end def utc_offset @@ -67,13 +66,6 @@ class VehicleJourneysController < ChouetteController sample = [2001,1,1,10,0] Time.zone.local(*sample).utc.hour - Time.utc(*sample).hour end - def select_vehicles - if params[:q] && params[:q][ :time_tables_id_eq ] - parent.sorted_vehicle_journeys.joins( :time_tables).where( "time_tables_vehicle_journeys.time_table_id" => params[:q][ :time_tables_id_eq ].split(',')) - else - parent.sorted_vehicle_journeys - end - end def matrix {}.tap do |hash| |
