aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinhui2017-05-31 16:54:16 +0200
committerXinhui2017-05-31 16:58:21 +0200
commit16087f91cc15a40d6b3b8a4c7ff13268cb95d8d1 (patch)
tree0490a621f34f7f74545d8ee9a15175537d7762d6
parenteac86ec95094a7f31f1206f56909aaf9bc661e9a (diff)
downloadchouette-core-16087f91cc15a40d6b3b8a4c7ff13268cb95d8d1.tar.bz2
Fix fake vjas of active stop_point should not be disabled
Refs #3625
-rw-r--r--app/models/chouette/vehicle_journey.rb7
-rw-r--r--app/models/chouette/vehicle_journey_at_stop.rb3
-rw-r--r--app/views/vehicle_journeys/show.rabl11
3 files changed, 13 insertions, 8 deletions
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb
index 72d554e96..84f621582 100644
--- a/app/models/chouette/vehicle_journey.rb
+++ b/app/models/chouette/vehicle_journey.rb
@@ -50,9 +50,12 @@ module Chouette
def vehicle_journey_at_stops_matrix
at_stops = self.vehicle_journey_at_stops.to_a.dup
+ active_stop_point_ids = journey_pattern.stop_points.map(&:id)
+
(route.stop_points.map(&:id) - at_stops.map(&:stop_point_id)).each do |id|
- # Set stop_point id for fake vjas with no departure time yep.
- at_stops.insert(route.stop_points.map(&:id).index(id), Chouette::VehicleJourneyAtStop.new(stop_point_id: id))
+ vjas = Chouette::VehicleJourneyAtStop.new(stop_point_id: id)
+ vjas.dummy = active_stop_point_ids.include?(id) ? false : true
+ at_stops.insert(route.stop_points.map(&:id).index(id), vjas)
end
at_stops
end
diff --git a/app/models/chouette/vehicle_journey_at_stop.rb b/app/models/chouette/vehicle_journey_at_stop.rb
index 553531422..5dfec8352 100644
--- a/app/models/chouette/vehicle_journey_at_stop.rb
+++ b/app/models/chouette/vehicle_journey_at_stop.rb
@@ -9,7 +9,7 @@ module Chouette
belongs_to :stop_point
belongs_to :vehicle_journey
- attr_accessor :_destroy
+ attr_accessor :_destroy, :dummy
validate :arrival_must_be_before_departure
def arrival_must_be_before_departure
@@ -27,6 +27,7 @@ module Chouette
after_initialize :set_virtual_attributes
def set_virtual_attributes
@_destroy = false
+ @dummy = false
end
end
diff --git a/app/views/vehicle_journeys/show.rabl b/app/views/vehicle_journeys/show.rabl
index 1ef9bc6b5..fce16dfb3 100644
--- a/app/views/vehicle_journeys/show.rabl
+++ b/app/views/vehicle_journeys/show.rabl
@@ -31,18 +31,19 @@ end
child(:vehicle_journey_at_stops_matrix, :object_root => false) do |vehicle_stops|
node do |vehicle_stop|
- node(:dummy) { !vehicle_stop.id? }
+ node(:dummy) { vehicle_stop.dummy }
+
node(:stop_area_object_id) do
- vehicle_stop.stop_point ? vehicle_stop.stop_point.stop_area.objectid : nil
+ vehicle_stop.stop_point.stop_area.objectid
end
node(:stop_point_objectid) do
- vehicle_stop.stop_point ? vehicle_stop.stop_point.objectid : nil
+ vehicle_stop.stop_point.objectid
end
node(:stop_area_name) do
- vehicle_stop.stop_point ? vehicle_stop.stop_point.stop_area.name : nil
+ vehicle_stop.stop_point.stop_area.name
end
node(:stop_area_cityname) do
- vehicle_stop.stop_point ? vehicle_stop.stop_point.stop_area.city_name : nil
+ vehicle_stop.stop_point.stop_area.city_name
end
[:id, :connecting_service_id, :boarding_alighting_possibility].map do |att|