diff options
| author | Robert | 2017-08-21 14:45:53 +0200 |
|---|---|---|
| committer | Robert | 2017-08-21 14:45:53 +0200 |
| commit | 003c4689248673fbc8922a107475caa9e059bcab (patch) | |
| tree | 05aeed3ca6f2ec724815717372173ca9cecb5e16 /app | |
| parent | f4863d7ea2e580ee1eb5f5cf498c07441e3ccff3 (diff) | |
| download | chouette-core-003c4689248673fbc8922a107475caa9e059bcab.tar.bz2 | |
Refs: #4189@4h; Allowing change of `name` and `public_name` in `Chouette::Route#duplicate`
Diffstat (limited to 'app')
| -rw-r--r-- | app/models/chouette/route.rb | 9 |
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 |
