From 630b71975f37d1ca4516c6be27b80aa50c020549 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Thu, 26 May 2022 15:36:46 +0000 Subject: [PATCH] Wiki notation `attachment:file_name` cannot make a link to a file attached to other journals (#35462). Patch by Mizuki ISHIKAWA. git-svn-id: https://svn.redmine.org/redmine/trunk@21605 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/application_helper.rb | 6 +++++- test/functional/issues_controller_test.rb | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 031273d44..4f2debeb7 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1251,7 +1251,11 @@ module ApplicationHelper end when 'attachment' attachments = options[:attachments] || [] - attachments += obj.attachments if obj.respond_to?(:attachments) + if obj.is_a?(Journal) + attachments += obj.journalized.attachments if obj.journalized.respond_to?(:attachments) + else + attachments += obj.attachments if obj.respond_to?(:attachments) + end if attachments && attachment = Attachment.latest_attach(attachments, name) link = link_to_attachment(attachment, :only_path => only_path, :class => 'attachment') end diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 9b1842e0d..60d1ff638 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -8386,6 +8386,21 @@ class IssuesControllerTest < Redmine::ControllerTest end end + def test_show_should_be_able_to_link_to_another_journal_attachment_of_the_same_issue + @request.session[:user_id] = 1 + issue = Issue.find(2) + attachment = issue.journals.first.attachments.first + + issue.init_journal(User.first, "attachment:#{attachment.filename}") + issue.save! + issue.reload + + get :show, params: { id: issue.id } + assert_select "div#history div#journal-#{issue.journals.last.id}-notes" do + assert_select "a[href='/attachments/#{attachment.id}']", :text => 'source.rb' + end + end + def test_index_should_retrieve_default_query query = IssueQuery.find(4) IssueQuery.stubs(:default).returns query -- 2.39.5