@@ -153,6 +153,8 class Issue < ActiveRecord::Base | |||||
153 | # Close duplicates if the issue was closed |
|
153 | # Close duplicates if the issue was closed | |
154 | if @issue_before_change && !@issue_before_change.closed? && self.closed? |
|
154 | if @issue_before_change && !@issue_before_change.closed? && self.closed? | |
155 | duplicates.each do |duplicate| |
|
155 | duplicates.each do |duplicate| | |
|
156 | # Reload is need in case the duplicate was updated by a previous duplicate | |||
|
157 | duplicate.reload | |||
156 | # Don't re-close it if it's already closed |
|
158 | # Don't re-close it if it's already closed | |
157 | next if duplicate.closed? |
|
159 | next if duplicate.closed? | |
158 | # Same user and notes |
|
160 | # Same user and notes |
@@ -48,6 +48,8 class IssueTest < Test::Unit::TestCase | |||||
48 | IssueRelation.create(:issue_from => issue1, :issue_to => issue2, :relation_type => IssueRelation::TYPE_DUPLICATES) |
|
48 | IssueRelation.create(:issue_from => issue1, :issue_to => issue2, :relation_type => IssueRelation::TYPE_DUPLICATES) | |
49 | # And 3 is a dupe of 2 |
|
49 | # And 3 is a dupe of 2 | |
50 | IssueRelation.create(:issue_from => issue2, :issue_to => issue3, :relation_type => IssueRelation::TYPE_DUPLICATES) |
|
50 | IssueRelation.create(:issue_from => issue2, :issue_to => issue3, :relation_type => IssueRelation::TYPE_DUPLICATES) | |
|
51 | # And 3 is a dupe of 1 (circular duplicates) | |||
|
52 | IssueRelation.create(:issue_from => issue1, :issue_to => issue3, :relation_type => IssueRelation::TYPE_DUPLICATES) | |||
51 |
|
53 | |||
52 | assert issue1.reload.duplicates.include?(issue2) |
|
54 | assert issue1.reload.duplicates.include?(issue2) | |
53 |
|
55 |
General Comments 0
You need to be logged in to leave comments.
Login now