diff options
| author | Xinhui | 2017-07-12 14:27:17 +0200 |
|---|---|---|
| committer | Xinhui | 2017-07-13 17:33:21 +0200 |
| commit | be8c8c2b9d04175977b216a04ec03a2d8c52fbaf (patch) | |
| tree | 2e75225f10b524f4fac27418eb01a737ddc49ac5 /app | |
| parent | f446e30a4cbee93d7472ea3663e20d6553853cab (diff) | |
| download | chouette-core-be8c8c2b9d04175977b216a04ec03a2d8c52fbaf.tar.bz2 | |
RoutingConstraintZone implementation of checksum concerns
Diffstat (limited to 'app')
| -rw-r--r-- | app/models/chouette/routing_constraint_zone.rb | 6 |
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 |
