diff options
| author | Luc Donnet | 2017-09-12 14:46:35 +0200 |
|---|---|---|
| committer | GitHub | 2017-09-12 14:46:35 +0200 |
| commit | 4aa19d931f8585c061dd3da49e31b2ddbbb1bf6b (patch) | |
| tree | 49e5b796e86f4430cdbf098229490d4ed98e0abb /app/models/chouette/stop_point.rb | |
| parent | 38befb74289521600564477cdbabd53b372550a5 (diff) | |
| parent | 9810dd389cff0bd5dbda26e46806f62d28410ff4 (diff) | |
| download | chouette-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.rb | 15 |
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 |
