aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/chouette/route.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/chouette/route.rb')
-rw-r--r--app/models/chouette/route.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/app/models/chouette/route.rb b/app/models/chouette/route.rb
index 3e20dc43e..049ee2881 100644
--- a/app/models/chouette/route.rb
+++ b/app/models/chouette/route.rb
@@ -76,11 +76,16 @@ class Chouette::Route < Chouette::TridentActiveRecord
after_commit :journey_patterns_control_route_sections
- def duplicate
+ def duplicate name: nil, published_name: nil
+ overrides = {
+ 'name' => name || self.name,
+ 'published_name' => published_name || self.published_name,
+ 'object_version' => object_version - 1
+ }
keys_for_create = attributes.keys - %w{id objectid created_at updated_at}
atts_for_create = attributes
.slice(*keys_for_create)
- .merge('object_version' => object_version - 1)
+ .merge(overrides)
new_route = self.class.create!(atts_for_create)
duplicate_stop_points(for_route: new_route)
new_route