aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcedricnjanga2017-11-09 12:15:55 +0100
committercedricnjanga2017-11-09 12:27:09 +0100
commit3ae18486a563e634ef555372131abaf84ae1a892 (patch)
tree7c8c73e83d84fe813edc34c8c187d7eef26231df
parent464a5c70450e4054c12f4d5b58477bb9386917f2 (diff)
downloadchouette-core-3ae18486a563e634ef555372131abaf84ae1a892.tar.bz2
Refs #4932 Change route duplication to redrect to routes#index
-rw-r--r--app/controllers/routes_controller.rb3
-rw-r--r--app/models/chouette/route.rb3
-rw-r--r--config/locales/routes.en.yml1
-rw-r--r--config/locales/routes.fr.yml1
-rw-r--r--spec/controllers/routes_controller_spec.rb2
-rw-r--r--spec/models/chouette/route/route_duplication_spec.rb4
6 files changed, 9 insertions, 5 deletions
diff --git a/app/controllers/routes_controller.rb b/app/controllers/routes_controller.rb
index 93f30f4d5..1a6c82484 100644
--- a/app/controllers/routes_controller.rb
+++ b/app/controllers/routes_controller.rb
@@ -68,7 +68,8 @@ class RoutesController < ChouetteController
def duplicate
route = Chouette::Route.find(params[:id]).duplicate
- redirect_to edit_referential_line_route_path(@referential, route.line, route)
+ flash[:notice] = t('routes.duplicate.success')
+ redirect_to referential_line_path(@referential, route.line)
end
protected
diff --git a/app/models/chouette/route.rb b/app/models/chouette/route.rb
index 0bdccb36a..7a529d2b9 100644
--- a/app/models/chouette/route.rb
+++ b/app/models/chouette/route.rb
@@ -78,7 +78,8 @@ class Chouette::Route < Chouette::TridentActiveRecord
def duplicate
overrides = {
- 'opposite_route_id' => nil
+ 'opposite_route_id' => nil,
+ 'name' => I18n.t('activerecord.copy', name: self.name)
}
keys_for_create = attributes.keys - %w{id objectid created_at updated_at}
atts_for_create = attributes
diff --git a/config/locales/routes.en.yml b/config/locales/routes.en.yml
index 4437b62b9..ba4f76daa 100644
--- a/config/locales/routes.en.yml
+++ b/config/locales/routes.en.yml
@@ -55,6 +55,7 @@ en:
for_alighting: "Alighting"
duplicate:
title: "Duplicate route"
+ success: "Route cloned with success"
route:
no_journey_pattern: "No Journey pattern"
opposite: "Opposite route"
diff --git a/config/locales/routes.fr.yml b/config/locales/routes.fr.yml
index 31838f1a7..3bcc33320 100644
--- a/config/locales/routes.fr.yml
+++ b/config/locales/routes.fr.yml
@@ -55,6 +55,7 @@ fr:
for_alighting: "Descente"
duplicate:
title: "Dupliquer l'itinéraire"
+ success: "itinéraire dupliqué avec succès"
route:
no_journey_pattern: "Pas de mission"
wayback:
diff --git a/spec/controllers/routes_controller_spec.rb b/spec/controllers/routes_controller_spec.rb
index 336f20945..fb29c8d73 100644
--- a/spec/controllers/routes_controller_spec.rb
+++ b/spec/controllers/routes_controller_spec.rb
@@ -89,7 +89,7 @@ RSpec.describe RoutesController, type: :controller do
id: route.id
end.to change { Route.count }.by(1)
- expect(Route.last.name).to eq(route.name)
+ expect(Route.last.name).to eq( I18n.t('activerecord.copy', name: route.name))
expect(Route.last.published_name).to eq(route.published_name)
end
end
diff --git a/spec/models/chouette/route/route_duplication_spec.rb b/spec/models/chouette/route/route_duplication_spec.rb
index 6645b909f..5bcd13fc8 100644
--- a/spec/models/chouette/route/route_duplication_spec.rb
+++ b/spec/models/chouette/route/route_duplication_spec.rb
@@ -11,7 +11,7 @@ RSpec.describe Route do
describe 'properties' do
it 'same attribute values' do
route.duplicate
- expect( values_for_create(Route.last, except: %w{objectid}) ).to eq( values_for_create( route, except: %w{objectid} ) )
+ expect( values_for_create(Route.last, except: %w{objectid name checksum checksum_source}) ).to eq( values_for_create( route, except: %w{objectid name checksum checksum_source} ) )
end
it 'and others cannot' do
expect{ route.duplicate name: 'YAN', line_id: 42 }.to raise_error(ArgumentError)
@@ -38,7 +38,7 @@ RSpec.describe Route do
let( :second_duplicate ){ first_duplicate.reload.duplicate }
it 'the required attributes' do
- expect( values_for_create(first_duplicate, except: %w{objectid}) ).to eq( values_for_create( second_duplicate, except: %w{objectid} ) )
+ expect( values_for_create(first_duplicate, except: %w{objectid name checksum checksum_source}) ).to eq( values_for_create( second_duplicate, except: %w{objectid name checksum checksum_source} ) )
end
it 'the stop areas' do