summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-09-26 18:04:54 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-09-26 18:04:54 +0000
commit76fcf136d0fa3b5d0e87bdc6ac91e0d6f80463e5 (patch)
tree373d88a304fb2506ce6b3113a09cd84a5e6011db
parent83bfb8cd2b0a877f89102ec5d2fe1bf481e7d9a3 (diff)
downloadredmine-76fcf136d0fa3b5d0e87bdc6ac91e0d6f80463e5.tar.gz
redmine-76fcf136d0fa3b5d0e87bdc6ac91e0d6f80463e5.zip
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
-rw-r--r--app/controllers/projects_controller.rb4
-rw-r--r--test/functional/projects_controller_test.rb11
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'