Defect #33103
closedExport to PDF fails when subject of parent task is included in issue list
0%
Description
Description¶
When choosing the subject of parent tasks to be displayed in the issue list, the pdf export fails and the user get's the "internal error" site presented.
Log file output¶
ActionView::Template::Error (undefined method `parent.subject' for #<Issue:0x00000000069ba248> Did you mean? parent_issue_id): 1: <%= raw issues_to_pdf(@issues, @project, @query) %> lib/redmine/export/pdf/issues_pdf_helper.rb:378:in `block in fetch_row_values' lib/redmine/export/pdf/issues_pdf_helper.rb:372:in `collect' lib/redmine/export/pdf/issues_pdf_helper.rb:372:in `fetch_row_values' lib/redmine/export/pdf/issues_pdf_helper.rb:435:in `block in calc_col_width' app/helpers/issues_helper.rb:31:in `block in issue_list' app/helpers/issues_helper.rb:26:in `each' app/helpers/issues_helper.rb:26:in `issue_list' lib/redmine/export/pdf/issues_pdf_helper.rb:433:in `calc_col_width' lib/redmine/export/pdf/issues_pdf_helper.rb:278:in `issues_to_pdf' app/views/issues/index.pdf.erb:1:in `_26913a66e609d0514246c7dc3391de38' lib/redmine/sudo_mode.rb:65:in `sudo_mode' ActionView::Template::Error (undefined method `parent.subject' for #<Issue:0x0000000008b17468> Did you mean? parent_issue_id): 1: <%= raw issues_to_pdf(@issues, @project, @query) %> lib/redmine/export/pdf/issues_pdf_helper.rb:378:in `block in fetch_row_values' lib/redmine/export/pdf/issues_pdf_helper.rb:372:in `collect' lib/redmine/export/pdf/issues_pdf_helper.rb:372:in `fetch_row_values' lib/redmine/export/pdf/issues_pdf_helper.rb:435:in `block in calc_col_width' app/helpers/issues_helper.rb:31:in `block in issue_list' app/helpers/issues_helper.rb:26:in `each' app/helpers/issues_helper.rb:26:in `issue_list' lib/redmine/export/pdf/issues_pdf_helper.rb:433:in `calc_col_width' lib/redmine/export/pdf/issues_pdf_helper.rb:278:in `issues_to_pdf' app/views/issues/index.pdf.erb:1:in `_26913a66e609d0514246c7dc3391de38' lib/redmine/sudo_mode.rb:65:in `sudo_mode'
The csv export of the same list works fine.
Files
Related issues
Updated by Go MAEDA almost 5 years ago
- Related to Feature #19371: Add a new query column for the parent task subject added
Updated by Yuichi HARADA almost 5 years ago
- File 33103.patch 33103.patch added
This will be resolved with the following patch.
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
Updated by Marius BÄ‚LTEANU almost 5 years ago
- Target version set to 4.1.1
Yuichi HARADA, I think we can fix the issue by using the method column.value_object(issue)
instead of issue.send()
. What do you think?
diff --git a/lib/redmine/export/pdf/issues_pdf_helper.rb b/lib/redmine/export/pdf/issues_pdf_helper.rb
index 2f73e52a4..b49691695 100644
--- a/lib/redmine/export/pdf/issues_pdf_helper.rb
+++ b/lib/redmine/export/pdf/issues_pdf_helper.rb
@@ -379,7 +379,7 @@ 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 = column.value_object(issue)
case column.name
when :subject
value = " " * level + value
I've added your test to this fix and it looks good on CI: https://gitlab.com/redmine-org/redmine/pipelines/128961861
Updated by Yuichi HARADA almost 5 years ago
Marius BALTEANU wrote:
Yuichi HARADA, I think we can fix the issue by using the method
column.value_object(issue)
instead ofissue.send()
. What do you think?[...]
I've added your test to this fix and it looks good on CI: https://gitlab.com/redmine-org/redmine/pipelines/128961861
I agree with you, I think it is correct. I didn't understand the method QueryColumn#value_object
.
Updated by Go MAEDA almost 5 years ago
- Status changed from Confirmed to Closed
- Assignee set to Go MAEDA
- Resolution set to Fixed
Committed the patch. Thank you all for reporting and fixing the issue.