mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-29 19:59:38 +00:00
Fixed that project copy triggers a 500 error if project validation fails.
git-svn-id: http://svn.redmine.org/redmine/trunk@13848 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
5d2eea1489
commit
fd4a911304
@ -723,9 +723,10 @@ class Project < ActiveRecord::Base
|
||||
end
|
||||
Redmine::Hook.call_hook(:model_project_copy_before_save, :source_project => project, :destination_project => self)
|
||||
save
|
||||
else
|
||||
false
|
||||
end
|
||||
end
|
||||
true
|
||||
end
|
||||
|
||||
# Returns a new unsaved Project instance with attributes copied from +project+
|
||||
|
||||
@ -608,6 +608,13 @@ class ProjectsControllerTest < ActionController::TestCase
|
||||
assert_redirected_to :controller => 'projects', :action => 'settings', :id => 'unique-copy'
|
||||
end
|
||||
|
||||
def test_post_copy_with_failure
|
||||
@request.session[:user_id] = 1
|
||||
post :copy, :id => 1, :project => {:name => 'Copy', :identifier => ''}
|
||||
assert_response :success
|
||||
assert_template 'copy'
|
||||
end
|
||||
|
||||
def test_jump_should_redirect_to_active_tab
|
||||
get :show, :id => 1, :jump => 'issues'
|
||||
assert_redirected_to '/projects/ecookbook/issues'
|
||||
|
||||
@ -46,6 +46,11 @@ class ProjectCopyTest < ActiveSupport::TestCase
|
||||
@project.enabled_module_names = @source_project.enabled_modules.collect(&:name)
|
||||
end
|
||||
|
||||
def test_copy_should_return_false_if_save_fails
|
||||
project = Project.new(:name => 'Copy', :identifier => nil)
|
||||
assert_equal false, project.copy(@source_project)
|
||||
end
|
||||
|
||||
test "#copy should copy issues" do
|
||||
@source_project.issues << Issue.generate!(:status => IssueStatus.find_by_name('Closed'),
|
||||
:subject => "copy issue status",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user