diff options
| author | Alban Peignier | 2015-05-27 15:29:57 +0200 |
|---|---|---|
| committer | Alban Peignier | 2015-05-27 15:31:26 +0200 |
| commit | e14e415df3850e4e09abb72ad6c228ef56778c08 (patch) | |
| tree | bed81d56d16773acaa7fb27abab67e6860783d73 | |
| parent | 24b55185bff779764f9b6e7c576ccb73568bae2f (diff) | |
| download | chouette-core-e14e415df3850e4e09abb72ad6c228ef56778c08.tar.bz2 | |
Fixes (I hope so) request in VehicleJourneysController/VehiculeFilter
| -rw-r--r-- | Gemfile | 6 | ||||
| -rw-r--r-- | Gemfile.lock | 4 | ||||
| -rw-r--r-- | app/controllers/vehicle_journeys_controller.rb | 18 | ||||
| -rw-r--r-- | app/models/vehicle_filter.rb | 10 |
4 files changed, 18 insertions, 20 deletions
@@ -82,12 +82,12 @@ gem "breadcrumbs_on_rails" gem "modernizr-rails", "~> 2.0.6" # Javascript -source 'https://rails-assets.org' do +source 'https://rails-assets.org' do gem 'rails-assets-morrisjs', "~> 0.5.1" gem 'rails-assets-raphael', "~> 2.1.3" # Use twitter bootstrap resources - gem 'rails-assets-bootstrap-sass-official', '~> 3.3.0' + gem 'rails-assets-bootstrap-sass-official', '~> 3.3.0' gem 'rails-assets-tagmanager', '~> 3.0.1.0' gem 'rails-assets-typeahead.js', '~> 0.10.5' gem 'rails-assets-typeahead.js-bootstrap3.less' @@ -152,5 +152,3 @@ group :production do gem "SyslogLogger", :require => "syslog/logger" gem "daemons" end - - diff --git a/Gemfile.lock b/Gemfile.lock index 0da5a8cae..fe92cc89f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT remote: https://github.com/afimb/ninoxe.git - revision: 09250286f4615e58a1ff180811ebbef3e54eedee + revision: 50da03899e56131197c0d163db30e0881368ef5b branch: rails4 specs: ninoxe (1.1.5) @@ -275,7 +275,7 @@ GEM spoon (~> 0.0) rabl (0.11.6) activesupport (>= 2.3.14) - rack (1.5.2) + rack (1.5.3) rack-contrib (1.2.0) rack (>= 0.9.1) rack-test (0.6.3) diff --git a/app/controllers/vehicle_journeys_controller.rb b/app/controllers/vehicle_journeys_controller.rb index fa1584b36..ace7aff5e 100644 --- a/app/controllers/vehicle_journeys_controller.rb +++ b/app/controllers/vehicle_journeys_controller.rb @@ -22,10 +22,10 @@ class VehicleJourneysController < ChouetteController create!(:alert => t('activerecord.errors.models.vehicle_journey.invalid_times')) end - def update + def update update!(:alert => t('activerecord.errors.models.vehicle_journey.invalid_times')) end - + def index index! do @matrix ||= matrix @@ -48,10 +48,15 @@ class VehicleJourneysController < ChouetteController alias_method :vehicle_journey, :resource def collection - @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) + unless @vehicle_journeys + @vehicle_filter = VehicleFilter.new adapted_params + @q = @vehicle_filter.vehicle_journeys.search @vehicle_filter.filtered_params + @vehicle_journeys = @q.result( :distinct => false ).paginate(:page => params[:page], :per_page => 8) + end + + @vehicle_journeys end + alias_method :vehicle_journeys, :collection def adapted_params params.tap do |adapted_params| @@ -70,8 +75,7 @@ class VehicleJourneysController < ChouetteController def matrix {}.tap do |hash| - Chouette::VehicleJourney.find( @vehicle_journeys.map { |v| v.id } ). - each do |vj| + vehicle_journeys.each do |vj| vj.vehicle_journey_at_stops.each do |vjas| hash[ "#{vj.id}-#{vjas.stop_point_id}"] = vjas end diff --git a/app/models/vehicle_filter.rb b/app/models/vehicle_filter.rb index ba8cce867..2ddb76991 100644 --- a/app/models/vehicle_filter.rb +++ b/app/models/vehicle_filter.rb @@ -1,8 +1,4 @@ class VehicleFilter - include ActiveModel::Validations - include ActiveModel::Conversion - extend ActiveModel::Naming - attr_accessor :route attr_accessor :q @@ -21,18 +17,18 @@ class VehicleFilter end def vehicles_passing_time_filtered if without_any_passing_time? - route.vehicle_journeys.includes( :vehicle_journey_at_stops).where( :vehicle_journey_at_stops => { :id => nil}) + route.vehicle_journeys.joins(:vehicle_journey_at_stops).where(vehicle_journey_at_stops: { id: nil}) else route.sorted_vehicle_journeys end end def vehicle_journeys if without_any_time_table? - vehicles_passing_time_filtered.includes( :time_tables).where( :time_tables => { :id => nil}) + vehicles_passing_time_filtered.joins(:time_tables).where(:time_tables => { :id => nil}) elsif time_table_ids.empty? vehicles_passing_time_filtered else - vehicles_passing_time_filtered.joins( :time_tables).where( "time_tables_vehicle_journeys.time_table_id" => time_table_ids) + vehicles_passing_time_filtered.joins(:time_tables).where("time_tables_vehicle_journeys.time_table_id" => time_table_ids) end end def time_table_ids |
