aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorXinhui2017-07-12 14:27:17 +0200
committerXinhui2017-07-13 17:33:21 +0200
commitbe8c8c2b9d04175977b216a04ec03a2d8c52fbaf (patch)
tree2e75225f10b524f4fac27418eb01a737ddc49ac5 /app
parentf446e30a4cbee93d7472ea3663e20d6553853cab (diff)
downloadchouette-core-be8c8c2b9d04175977b216a04ec03a2d8c52fbaf.tar.bz2
RoutingConstraintZone implementation of checksum concerns
Diffstat (limited to 'app')
-rw-r--r--app/models/chouette/routing_constraint_zone.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/models/chouette/routing_constraint_zone.rb b/app/models/chouette/routing_constraint_zone.rb
index 77f51c466..b4c27803b 100644
--- a/app/models/chouette/routing_constraint_zone.rb
+++ b/app/models/chouette/routing_constraint_zone.rb
@@ -1,4 +1,6 @@
class Chouette::RoutingConstraintZone < Chouette::TridentActiveRecord
+ include ChecksumSupport
+
belongs_to :route
has_array_of :stop_points, class_name: 'Chouette::StopPoint'
@@ -6,6 +8,10 @@ class Chouette::RoutingConstraintZone < Chouette::TridentActiveRecord
validates :stop_point_ids, length: { minimum: 2, too_short: I18n.t('activerecord.errors.models.routing_constraint_zone.attributes.stop_points.not_enough_stop_points') }
validate :stop_points_belong_to_route, :not_all_stop_points_selected
+ def checksum_attributes
+ self.stop_points.map(&:stop_area).map(&:user_objectid)
+ end
+
def stop_points_belong_to_route
errors.add(:stop_point_ids, I18n.t('activerecord.errors.models.routing_constraint_zone.attributes.stop_points.stop_points_not_from_route')) unless stop_points.all? { |sp| route.stop_points.include? sp }
end