aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorXinhui2017-03-01 12:03:26 +0100
committerXinhui2017-03-01 12:04:46 +0100
commite937897aaecf2f4c4e8db63d37b5e515eba2a048 (patch)
treedeffdf8e8e7b7b9832f6e27749aaa2437161d4c4 /app/models
parent599addc323b0b08ddcea7871748760c0bec83585 (diff)
downloadchouette-core-e937897aaecf2f4c4e8db63d37b5e515eba2a048.tar.bz2
Wip dummy vehicle_journey_at_stops in json
Diffstat (limited to 'app/models')
-rw-r--r--app/models/chouette/vehicle_journey.rb26
1 files changed, 20 insertions, 6 deletions
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb
index 9b9d96df3..d03b52e83 100644
--- a/app/models/chouette/vehicle_journey.rb
+++ b/app/models/chouette/vehicle_journey.rb
@@ -47,15 +47,29 @@ module Chouette
@presenter ||= ::VehicleJourneyPresenter.new( self)
end
+ def vehicle_journey_at_stops_matrix
+ fill = route.stop_points.count - self.vehicle_journey_at_stops.count
+ at_stops = self.vehicle_journey_at_stops.to_a.dup
+ fill.times do
+ at_stops << Chouette::VehicleJourneyAtStop.new
+ end
+ at_stops
+ end
+
def update_vehicle_journey_at_stops_state state
state.each do |vjas|
- stop = vehicle_journey_at_stops.find(vjas['id'])
- ['arrival_time', 'departure_time'].each do |field|
- stop.assign_attributes({
- field.to_sym => stop.send(field).change({ hour: vjas[field]['hour'], min: vjas[field]['minute'] })
- })
+ next if vjas["dummy"]
+ stop = vehicle_journey_at_stops.find(vjas['id']) if vjas['id']
+ if stop
+ stop.arrival_time ||= Time.now.beginning_of_day
+ stop.departure_time ||= Time.now.beginning_of_day
+ ['arrival_time', 'departure_time'].each do |field|
+ stop.assign_attributes({
+ field.to_sym => stop.send(field).change({ hour: vjas[field]['hour'], min: vjas[field]['minute'] })
+ })
+ end
+ stop.save
end
- stop.save
end
end