##// END OF EJS Templates
Fixed that relations to issues that are not visible are displayed in the issue history (#1005)....
Jean-Philippe Lang -
r11784:7509dda1ff58
parent child
Show More
@@ -53,12 +53,15 class Journal < ActiveRecord::Base
53 (details.empty? && notes.blank?) ? false : super
53 (details.empty? && notes.blank?) ? false : super
54 end
54 end
55
55
56 # Returns journal details that are visible to user
56 def visible_details(user=User.current)
57 def visible_details(user=User.current)
57 details.select do |detail|
58 details.select do |detail|
58 if detail.property == 'cf'
59 if detail.property == 'cf'
59 field_id = detail.prop_key
60 field_id = detail.prop_key
60 field = CustomField.find_by_id(field_id)
61 field = CustomField.find_by_id(field_id)
61 field && field.visible_by?(project, user)
62 field && field.visible_by?(project, user)
63 elsif detail.property == 'relation'
64 Issue.find_by_id(detail.value || detail.old_value).try(:visible?, user)
62 else
65 else
63 true
66 true
64 end
67 end
@@ -175,4 +175,23 class JournalTest < ActiveSupport::TestCase
175 assert_equal '0', j.old_value
175 assert_equal '0', j.old_value
176 assert_equal '0', j.value
176 assert_equal '0', j.value
177 end
177 end
178
179 def test_visible_details_should_include_relations_to_visible_issues_only
180 issue = Issue.generate!
181 visible_issue = Issue.generate!
182 IssueRelation.create!(:issue_from => issue, :issue_to => visible_issue, :relation_type => 'relates')
183 hidden_issue = Issue.generate!(:is_private => true)
184 IssueRelation.create!(:issue_from => issue, :issue_to => hidden_issue, :relation_type => 'relates')
185 issue.reload
186 assert_equal 1, issue.journals.size
187 journal = issue.journals.first
188 assert_equal 2, journal.details.size
189
190 visible_details = journal.visible_details(User.anonymous)
191 assert_equal 1, visible_details.size
192 assert_equal visible_issue.id.to_s, visible_details.first.value
193
194 visible_details = journal.visible_details(User.find(2))
195 assert_equal 2, visible_details.size
196 end
178 end
197 end
General Comments 0
You need to be logged in to leave comments. Login now