summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/issues_controller.rb1
-rw-r--r--lib/redmine/export/pdf.rb10
-rw-r--r--test/functional/issues_controller_test.rb8
3 files changed, 15 insertions, 4 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index c0d791e4b..a8dd3d83f 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -40,6 +40,7 @@ class IssuesController < ApplicationController
helper :attachments
include AttachmentsHelper
helper :queries
+ include QueriesHelper
helper :sort
include SortHelper
include IssuesHelper
diff --git a/lib/redmine/export/pdf.rb b/lib/redmine/export/pdf.rb
index 5242cb37f..c80880afa 100644
--- a/lib/redmine/export/pdf.rb
+++ b/lib/redmine/export/pdf.rb
@@ -144,13 +144,15 @@ module Redmine
# rows
pdf.SetFontStyle('',8)
pdf.SetFillColor(255, 255, 255)
- group = false
+ previous_group = false
issues.each do |issue|
- if query.grouped? && issue.send(query.group_by) != group
- group = issue.send(query.group_by)
+ if query.grouped? && (group = query.group_by_column.value(issue)) != previous_group
pdf.SetFontStyle('B',9)
- pdf.Cell(277, row_height, "#{group.blank? ? 'None' : group.to_s}", 1, 1, 'L')
+ pdf.Cell(277, row_height,
+ (group.blank? ? 'None' : group.to_s) + " (#{@issue_count_by_group[group]})",
+ 1, 1, 'L')
pdf.SetFontStyle('',8)
+ previous_group = group
end
pdf.Cell(15, row_height, issue.id.to_s, 1, 0, 'L', 1)
query.columns.each_with_index do |column, i|
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index 78ab04e1b..604ab66f5 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -236,6 +236,14 @@ class IssuesControllerTest < ActionController::TestCase
assert_equal 'application/pdf', @response.content_type
end
+ def test_index_pdf_with_query_grouped_by_list_custom_field
+ get :index, :project_id => 1, :query_id => 9, :format => 'pdf'
+ assert_response :success
+ assert_not_nil assigns(:issues)
+ assert_not_nil assigns(:issue_count_by_group)
+ assert_equal 'application/pdf', @response.content_type
+ end
+
def test_index_sort
get :index, :sort => 'tracker,id:desc'
assert_response :success