From 3d7cb0f40e096ad9393c88b57f868d94665d1f58 2010-01-18 18:01:19 From: Jean-Philippe Lang Date: 2010-01-18 18:01:19 Subject: [PATCH] Merged r3333 from trunk. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/0.9-stable@3334 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 71e07ce..d2e7b5a 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 5242cb3..c80880a 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 8a0c4e8..14c20bb 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