From f4863d7ea2e580ee1eb5f5cf498c07441e3ccff3 Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 16 Aug 2017 06:57:07 +0200 Subject: Refs: #4189@1h; Implementation of Chouette::Route#duplicate & Chouette::StopPoint#duplicate Implementing, as specified: - The duplicated Route objectid is autogenerated - The duplicated StopPoint objectids are autogenerated - the duplicated Route object_version equals the source's one (UNCHANGED) --- app/models/chouette/route.rb | 6 +++--- app/models/chouette/stop_point.rb | 8 ++------ 2 files changed, 5 insertions(+), 9 deletions(-) (limited to 'app/models') diff --git a/app/models/chouette/route.rb b/app/models/chouette/route.rb index 0fe4472d3..3e20dc43e 100644 --- a/app/models/chouette/route.rb +++ b/app/models/chouette/route.rb @@ -76,11 +76,11 @@ class Chouette::Route < Chouette::TridentActiveRecord after_commit :journey_patterns_control_route_sections - def duplicate new_objectid - keys_for_create = attributes.keys - %w{id created_at updated_at} + def duplicate + keys_for_create = attributes.keys - %w{id objectid created_at updated_at} atts_for_create = attributes .slice(*keys_for_create) - .merge('objectid' => new_objectid, 'object_version' => object_version - 1) + .merge('object_version' => object_version - 1) new_route = self.class.create!(atts_for_create) duplicate_stop_points(for_route: new_route) new_route diff --git a/app/models/chouette/stop_point.rb b/app/models/chouette/stop_point.rb index de9a3e26f..89c492b91 100644 --- a/app/models/chouette/stop_point.rb +++ b/app/models/chouette/stop_point.rb @@ -40,14 +40,10 @@ module Chouette end def duplicate(for_route:) - new_objectid = [ - for_route.objectid.split(':').first, - *objectid.split(':')[1..2] - ].join(':') - keys_for_create = attributes.keys - %w{id created_at updated_at} + keys_for_create = attributes.keys - %w{id objectid created_at updated_at} atts_for_create = attributes .slice(*keys_for_create) - .merge('objectid' => new_objectid, 'route_id' => for_route.id) + .merge('route_id' => for_route.id) self.class.create!(atts_for_create) end -- cgit v1.2.3