From 76fcf136d0fa3b5d0e87bdc6ac91e0d6f80463e5 Mon Sep 17 00:00:00 2001
From: Eric Davis <edavis@littlestreamsoftware.com>
Date: Sun, 26 Sep 2010 18:04:54 +0000
Subject: [PATCH] Redirect to project settings after copying a project. #6443

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4185 e93f8b46-1217-0410-a6f0-8f06a7374b81
---
 app/controllers/projects_controller.rb      |  4 ++--
 test/functional/projects_controller_test.rb | 11 +++++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index f16349329..c3efbfd9f 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -125,13 +125,13 @@ class ProjectsController < ApplicationController
         if validate_parent_id && @project.copy(@source_project, :only => params[:only])
           @project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
           flash[:notice] = l(:notice_successful_create)
-          redirect_to :controller => 'admin', :action => 'projects'
+          redirect_to :controller => 'projects', :action => 'settings'
         elsif !@project.new_record?
           # Project was created
           # But some objects were not copied due to validation failures
           # (eg. issues from disabled trackers)
           # TODO: inform about that
-          redirect_to :controller => 'admin', :action => 'projects'
+          redirect_to :controller => 'projects', :action => 'settings'
         end
       end
     end
diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb
index 636cb1751..8a9bbe6d5 100644
--- a/test/functional/projects_controller_test.rb
+++ b/test/functional/projects_controller_test.rb
@@ -389,6 +389,17 @@ class ProjectsControllerTest < ActionController::TestCase
     assert_redirected_to :controller => 'admin', :action => 'projects'
   end
 
+  context "POST :copy" do
+    should "TODO: test the rest of the method"
+
+    should "redirect to the project settings when successful" do
+      @request.session[:user_id] = 1 # admin
+      post :copy, :id => 1, :project => {:name => 'Copy', :identifier => 'unique-copy'}
+      assert_response :redirect
+      assert_redirected_to :controller => 'projects', :action => 'settings'
+    end
+  end
+
   def test_jump_should_redirect_to_active_tab
     get :show, :id => 1, :jump => 'issues'
     assert_redirected_to 'projects/ecookbook/issues'
-- 
GitLab