aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/chouette/stop_point.rb
diff options
context:
space:
mode:
authorLuc Donnet2017-09-12 14:46:35 +0200
committerGitHub2017-09-12 14:46:35 +0200
commit4aa19d931f8585c061dd3da49e31b2ddbbb1bf6b (patch)
tree49e5b796e86f4430cdbf098229490d4ed98e0abb /app/models/chouette/stop_point.rb
parent38befb74289521600564477cdbabd53b372550a5 (diff)
parent9810dd389cff0bd5dbda26e46806f62d28410ff4 (diff)
downloadchouette-core-4aa19d931f8585c061dd3da49e31b2ddbbb1bf6b.tar.bz2
Merge pull request #63 from af83/4189-duplicate-route
4189 duplicate route
Diffstat (limited to 'app/models/chouette/stop_point.rb')
-rw-r--r--app/models/chouette/stop_point.rb15
1 files changed, 11 insertions, 4 deletions
diff --git a/app/models/chouette/stop_point.rb b/app/models/chouette/stop_point.rb
index 8fe79dc0c..89c492b91 100644
--- a/app/models/chouette/stop_point.rb
+++ b/app/models/chouette/stop_point.rb
@@ -20,6 +20,11 @@ module Chouette
validates_presence_of :stop_area
validate :stop_area_id_validation
+ def stop_area_id_validation
+ if stop_area_id.nil?
+ errors.add(:stop_area_id, I18n.t("stop_areas.errors.empty"))
+ end
+ end
scope :default_order, -> { order("position") }
@@ -34,10 +39,12 @@ module Chouette
end
end
- def stop_area_id_validation
- if stop_area_id.nil?
- errors.add(:stop_area_id, I18n.t("stop_areas.errors.empty"))
- end
+ def duplicate(for_route:)
+ keys_for_create = attributes.keys - %w{id objectid created_at updated_at}
+ atts_for_create = attributes
+ .slice(*keys_for_create)
+ .merge('route_id' => for_route.id)
+ self.class.create!(atts_for_create)
end
def self.area_candidates