summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2023-01-02 05:52:39 +0000
committerGo MAEDA <maeda@farend.jp>2023-01-02 05:52:39 +0000
commit354ad625008316cc4347e8085bc93c2544d1c372 (patch)
tree556da81352e3535c084b8a58eb8c89f2270479e5
parent50f84c20b8235cd065fc30461e7b6957113def3c (diff)
downloadredmine-354ad625008316cc4347e8085bc93c2544d1c372.tar.gz
redmine-354ad625008316cc4347e8085bc93c2544d1c372.zip
Merged r22012 from trunk to 5.0-stable (#37881).
git-svn-id: https://svn.redmine.org/redmine/branches/5.0-stable@22018 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--lib/redmine/wiki_formatting/macros.rb3
-rw-r--r--test/functional/issues_controller_test.rb16
2 files changed, 18 insertions, 1 deletions
diff --git a/lib/redmine/wiki_formatting/macros.rb b/lib/redmine/wiki_formatting/macros.rb
index 83dc5dcc0..61218d93a 100644
--- a/lib/redmine/wiki_formatting/macros.rb
+++ b/lib/redmine/wiki_formatting/macros.rb
@@ -279,7 +279,8 @@ module Redmine
size = size.to_i
size = 200 unless size > 0
- attachments = obj.attachments if obj.respond_to?(:attachments)
+ container = obj.is_a?(Journal) ? obj.journalized : obj
+ attachments = container.attachments if container.respond_to?(:attachments)
if (controller_name == 'previews' || action_name == 'preview') && @attachments.present?
attachments = (attachments.to_a + @attachments).compact
end
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index 1e0c028f6..732c01956 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -8421,6 +8421,22 @@ class IssuesControllerTest < Redmine::ControllerTest
end
end
+ def test_show_with_thumbnail_macro_should_be_able_to_fetch_image_of_different_journal
+ @request.session[:user_id] = 1
+ issue = Issue.find(2)
+ attachment = Attachment.generate!(filename: 'foo.png', digest: Redmine::Utils.random_hex(32))
+ attachment.update(container: issue)
+
+ issue.init_journal(User.first, "{{thumbnail(#{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.thumbnail[title=?][href='/attachments/#{attachment.id}']", 'foo.png'
+ end
+ end
+
def test_index_should_retrieve_default_query
query = IssueQuery.find(4)
IssueQuery.stubs(:default).returns query