aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/chouette/route.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/chouette/route.rb')
-rw-r--r--app/models/chouette/route.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/models/chouette/route.rb b/app/models/chouette/route.rb
index 928b65f13..0fac53ec0 100644
--- a/app/models/chouette/route.rb
+++ b/app/models/chouette/route.rb
@@ -148,11 +148,15 @@ module Chouette
values = self.slice(*['name', 'published_name', 'wayback']).values
values.tap do |attrs|
attrs << self.stop_points.sort_by(&:position).map{|sp| [sp.stop_area.user_objectid, sp.for_boarding, sp.for_alighting]}
- attrs << self.routing_constraint_zones.map(&:checksum).sort
+
+ routing_constraint_zones = self.routing_constraint_zones
+ routing_constraint_zones += Chouette::RoutingConstraintZone.with_stop_points_contained_in(self.stop_points) unless self.new_record?
+ attrs << routing_constraint_zones.uniq.map(&:checksum).sort
end
end
has_checksum_children StopPoint
+ has_checksum_children RoutingConstraintZone
def geometry
points = stop_areas.map(&:to_lat_lng).compact.map do |loc|