diff --git a/lib/redmine/export/pdf/issues_pdf_helper.rb b/lib/redmine/export/pdf/issues_pdf_helper.rb index 2f73e52a4..4b06fb87c 100644 --- a/lib/redmine/export/pdf/issues_pdf_helper.rb +++ b/lib/redmine/export/pdf/issues_pdf_helper.rb @@ -379,7 +379,11 @@ module Redmine cv = issue.visible_custom_field_values.detect {|v| v.custom_field_id == column.custom_field.id} show_value(cv, false) else - value = issue.send(column.name) + value = issue + column.name.to_s.split(/\./).each do |column_name| + value = value.__send__(column_name) + break unless value + end case column.name when :subject value = " " * level + value diff --git a/test/unit/lib/redmine/export/pdf/issues_pdf_test.rb b/test/unit/lib/redmine/export/pdf/issues_pdf_test.rb index c9e4e4863..d6547cc3d 100644 --- a/test/unit/lib/redmine/export/pdf/issues_pdf_test.rb +++ b/test/unit/lib/redmine/export/pdf/issues_pdf_test.rb @@ -36,4 +36,15 @@ class IssuesPdfHelperTest < ActiveSupport::TestCase results = fetch_row_values(issue, query, 0) assert_equal ["2", "Add ingredients categories", "4.34"], results end + + def test_fetch_row_values_should_include_parent_issue_subject + query = IssueQuery.new(:project => Project.find(1), :name => '_') + query.column_names = [:subject, 'parent.subject'] + issue = Issue.find(2) + issue.parent = Issue.find(1) + issue.save! + + results = fetch_row_values(issue, query, 0) + assert_equal ["2", "Add ingredients categories", "Cannot print recipes"], results + end end