1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-02-25 21:11:46 +00:00

Show project ID instead of name in issue journal details if the project is not visible for the current user (#33360).

Patch by Marius BALTEANU.


git-svn-id: http://svn.redmine.org/redmine/trunk@20819 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2021-03-18 07:44:42 +00:00
parent a11f9eb5d9
commit 0d96c4ebdb
2 changed files with 10 additions and 1 deletions

View File

@ -637,6 +637,7 @@ module IssuesHelper
end
# Find the name of an associated record stored in the field attribute
# For project, return the associated record only if is visible for the current User
def find_name_by_reflection(field, id)
return nil if id.blank?
@ -645,7 +646,7 @@ module IssuesHelper
name = nil
if association
record = association.klass.find_by_id(key.last)
if record
if (record && !record.is_a?(Project)) || (record.is_a?(Project) && record.visible?)
name = record.name.force_encoding('UTF-8')
end
end

View File

@ -145,12 +145,20 @@ class IssuesHelperTest < Redmine::HelperTest
end
test 'show_detail should show old and new values with a project attribute' do
User.current = User.find(2)
detail = JournalDetail.new(:property => 'attr', :prop_key => 'project_id',
:old_value => 1, :value => 2)
assert_match 'eCookbook', show_detail(detail, true)
assert_match 'OnlineStore', show_detail(detail, true)
end
test 'show_detail with a project attribute should show project ID if project is not visible' do
detail = JournalDetail.new(:property => 'attr', :prop_key => 'project_id',
:old_value => 1, :value => 2)
assert_match 'eCookbook', show_detail(detail, true)
assert_match '2', show_detail(detail, true)
end
test 'show_detail should show old and new values with a issue status attribute' do
detail = JournalDetail.new(:property => 'attr', :prop_key => 'status_id',
:old_value => 1, :value => 2)