diff options
| author | Teddy Wing | 2017-05-31 16:49:22 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2017-05-31 17:57:36 +0200 | 
| commit | b5fc278ecb1b59930614a03241e7463f128e8c75 (patch) | |
| tree | 2f8ef8fcd95c42c40ef9b96a2ed7a17716aa810f | |
| parent | 52531e2910b3db6ac2a7c5fedbc14b0be54782dc (diff) | |
| download | chouette-core-b5fc278ecb1b59930614a03241e7463f128e8c75.tar.bz2 | |
VehicleJourney: Set at-stop day offsets when saving
Add a new `before_validation` filter that calls into the day offsetter
(`VehicleJourneyAtStopsDayOffset`) to set the correct
`arrival_day_offset` and `departure_day_offset`s on each
VehicleJourneyAtStop in the VehicleJourney.
Doing so ensures that the values are always up to date when the vehicle
journey is updated.
Refs #3596
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index 84f621582..38d4a1f81 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -32,13 +32,21 @@ module Chouette        vehicle_journey_at_stops_are_in_increasing_time_order: true      validates_presence_of :number -    before_validation :set_default_values +    before_validation :set_default_values, +      :calculate_vehicle_journey_at_stop_day_offset +      def set_default_values        if number.nil?          self.number = 0        end      end +    def calculate_vehicle_journey_at_stop_day_offset +      Chouette::VehicleJourneyAtStopsDayOffset.new( +        vehicle_journey_at_stops +      ).update +    end +      scope :without_any_time_table, -> { joins('LEFT JOIN "time_tables_vehicle_journeys" ON "time_tables_vehicle_journeys"."vehicle_journey_id" = "vehicle_journeys"."id" LEFT JOIN "time_tables" ON "time_tables"."id" = "time_tables_vehicle_journeys"."time_table_id"').where(:time_tables => { :id => nil}) }      scope :without_any_passing_time, -> { joins('LEFT JOIN "vehicle_journey_at_stops" ON "vehicle_journey_at_stops"."vehicle_journey_id" = "vehicle_journeys"."id"').where(vehicle_journey_at_stops: { id: nil }) }  | 
