Copy issue status on project copy (#3877).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3075 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
e24358bc43
commit
3fc655904f
|
@ -80,6 +80,7 @@ class Issue < ActiveRecord::Base
|
|||
issue = arg.is_a?(Issue) ? arg : Issue.find(arg)
|
||||
self.attributes = issue.attributes.dup.except("id", "created_on", "updated_on")
|
||||
self.custom_values = issue.custom_values.collect {|v| v.clone}
|
||||
self.status = issue.status
|
||||
self
|
||||
end
|
||||
|
||||
|
|
|
@ -178,6 +178,16 @@ class IssueTest < ActiveSupport::TestCase
|
|||
assert_equal orig.tracker, issue.tracker
|
||||
assert_equal orig.custom_values.first.value, issue.custom_values.first.value
|
||||
end
|
||||
|
||||
def test_copy_should_copy_status
|
||||
orig = Issue.find(8)
|
||||
assert orig.status != IssueStatus.default
|
||||
|
||||
issue = Issue.new.copy_from(orig)
|
||||
assert issue.save
|
||||
issue.reload
|
||||
assert_equal orig.status, issue.status
|
||||
end
|
||||
|
||||
def test_should_close_duplicates
|
||||
# Create 3 issues
|
||||
|
|
|
@ -406,6 +406,11 @@ class ProjectTest < ActiveSupport::TestCase
|
|||
end
|
||||
|
||||
should "copy issues" do
|
||||
@source_project.issues << Issue.generate!(:status_id => 5,
|
||||
:subject => "copy issue status",
|
||||
:tracker_id => 1,
|
||||
:assigned_to_id => 2,
|
||||
:project_id => @source_project.id)
|
||||
assert @project.valid?
|
||||
assert @project.issues.empty?
|
||||
assert @project.copy(@source_project)
|
||||
|
@ -416,6 +421,11 @@ class ProjectTest < ActiveSupport::TestCase
|
|||
assert ! issue.assigned_to.blank?
|
||||
assert_equal @project, issue.project
|
||||
end
|
||||
|
||||
copied_issue = @project.issues.first(:conditions => {:subject => "copy issue status"})
|
||||
assert copied_issue
|
||||
assert copied_issue.status
|
||||
assert_equal "Closed", copied_issue.status.name
|
||||
end
|
||||
|
||||
should "change the new issues to use the copied version" do
|
||||
|
|
Loading…
Reference in New Issue