]> source.dussan.org Git - redmine.git/commitdiff
Private notes get copied without private flag to Duplicate issues (#22072).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 12 Mar 2016 08:21:32 +0000 (08:21 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 12 Mar 2016 08:21:32 +0000 (08:21 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@15196 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/issue.rb
test/unit/issue_test.rb

index cf9faaf3356f6cd977d4b69f755d8fd46a66486d..8282e091bc340f7ceaad9dbd9766ea4438515eee 100644 (file)
@@ -1568,6 +1568,7 @@ class Issue < ActiveRecord::Base
         # Same user and notes
         if @current_journal
           duplicate.init_journal(@current_journal.user, @current_journal.notes)
+          duplicate.private_notes = @current_journal.private_notes
         end
         duplicate.update_attribute :status, self.status
       end
index 34697d5480aa4cf12bd23375e400e3b18513be2e..52d5c20130e86affbe466b8f2eab82de733faa37 100644 (file)
@@ -1274,6 +1274,24 @@ class IssueTest < ActiveSupport::TestCase
     assert issue3.reload.closed?
   end
 
+  def test_should_close_duplicates_with_private_notes
+    issue = Issue.generate!
+    duplicate = Issue.generate!
+    IssueRelation.create!(:issue_from => duplicate, :issue_to => issue,
+                          :relation_type => IssueRelation::TYPE_DUPLICATES)
+    assert issue.reload.duplicates.include?(duplicate)
+
+    # Closing issue with private notes
+    issue.init_journal(User.first, "Private notes")
+    issue.private_notes = true
+    issue.status = IssueStatus.where(:is_closed => true).first
+    assert_save issue
+
+    duplicate.reload
+    assert journal = duplicate.journals.detect {|journal| journal.notes == "Private notes"}
+    assert_equal true, journal.private_notes
+  end
+
   def test_should_not_close_duplicated_issue
     issue1 = Issue.generate!
     issue2 = Issue.generate!