aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorMarc Florisson2014-09-19 11:12:04 +0200
committerMarc Florisson2014-09-19 11:12:04 +0200
commit1bfbcbfb0dd0580fe9e36bec0e1d5aa663c955dd (patch)
tree64dacf50b0f15515585a0d8bdfd3de1a99fc078e /app/controllers
parentbf6bea71846d2ab079d592086251c6af426c80d9 (diff)
downloadchouette-core-1bfbcbfb0dd0580fe9e36bec0e1d5aa663c955dd.tar.bz2
refactor vehicles_journey#index. Mantis 26842
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/journey_patterns_controller.rb11
-rw-r--r--app/controllers/vehicle_journeys_controller.rb28
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|