diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/models/chouette/route.rb | 6 | ||||
| -rw-r--r-- | app/models/merge.rb | 2 |
2 files changed, 6 insertions, 2 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| diff --git a/app/models/merge.rb b/app/models/merge.rb index eadeccaa7..69749d105 100644 --- a/app/models/merge.rb +++ b/app/models/merge.rb @@ -212,7 +212,7 @@ class Merge < ApplicationModel end new_route.routing_constraint_zones.each do |new_routing_constraint_zone| - routing_constraint_zone = routing_constraint_zones.find { |c| c.checksum = new_routing_constraint_zone.checksum } + routing_constraint_zone = routing_constraint_zones.find { |c| c.checksum == new_routing_constraint_zone.checksum } if routing_constraint_zone referential_routing_constraint_zones_new_ids[routing_constraint_zone.id] = new_routing_constraint_zone.id else |
