From e771fc03bd60160f42a9aad552415c79a87e8902 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 25 Jul 2010 11:49:07 +0000 Subject: [PATCH] Merged r3883, r3884 and r3885 from trunk. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.0-stable@3886 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/gantts_controller.rb | 2 +- lib/redmine/export/pdf.rb | 17 ++++++++++------- lib/redmine/helpers/gantt.rb | 13 ++++++++++--- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/app/controllers/gantts_controller.rb b/app/controllers/gantts_controller.rb index bc2d6350c..e762c19c8 100644 --- a/app/controllers/gantts_controller.rb +++ b/app/controllers/gantts_controller.rb @@ -37,7 +37,7 @@ class GanttsController < ApplicationController respond_to do |format| format.html { render :action => "show", :layout => !request.xhr? } - format.png { send_data(@gantt.to_image, :disposition => 'inline', :type => 'image/png', :filename => "#{basename}.png") } if @gantt.respond_to?('to_image') + format.png { send_data(@gantt.to_image(@project), :disposition => 'inline', :type => 'image/png', :filename => "#{basename}.png") } if @gantt.respond_to?('to_image') format.pdf { send_data(gantt_to_pdf(@gantt, @project), :type => 'application/pdf', :filename => "#{basename}.pdf") } end end diff --git a/lib/redmine/export/pdf.rb b/lib/redmine/export/pdf.rb index c24921653..9b1f2b8a2 100644 --- a/lib/redmine/export/pdf.rb +++ b/lib/redmine/export/pdf.rb @@ -325,7 +325,7 @@ module Redmine pdf.Ln pdf.SetFontStyle('B',9) - subject_width = 70 + subject_width = 100 header_heigth = 5 headers_heigth = header_heigth @@ -341,7 +341,7 @@ module Redmine end end - g_width = 210 + g_width = 280 - subject_width zoom = (g_width) / (gantt.date_to - gantt.date_from + 1) g_height = 120 t_height = g_height + headers_heigth @@ -415,16 +415,19 @@ module Redmine pdf.SetY(top) pdf.SetX(15) + text = "" if i.is_a? Issue - pdf.Cell(subject_width-15, 5, "#{i.tracker} #{i.id}: #{i.subject}".sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)'), "LR") + text = "#{i.tracker} #{i.id}: #{i.subject}" else - pdf.Cell(subject_width-15, 5, "#{l(:label_version)}: #{i.name}", "LR") + text = i.name end + text = "#{i.project} - #{text}" unless project && project == i.project + pdf.Cell(subject_width-15, 5, text, "LR") - pdf.SetY(top) + pdf.SetY(top + 0.2) pdf.SetX(subject_width) - pdf.Cell(g_width, 5, "", "LR") - + pdf.SetFillColor(255, 255, 255) + pdf.Cell(g_width, 4.6, "", "LR", 0, "", 1) pdf.SetY(top+1.5) if i.is_a? Issue diff --git a/lib/redmine/helpers/gantt.rb b/lib/redmine/helpers/gantt.rb index 330b58ee7..96ba4db7c 100644 --- a/lib/redmine/helpers/gantt.rb +++ b/lib/redmine/helpers/gantt.rb @@ -91,12 +91,12 @@ module Redmine # Generates a gantt image # Only defined if RMagick is avalaible - def to_image(format='PNG') + def to_image(project, format='PNG') date_to = (@date_from >> @months)-1 show_weeks = @zoom > 1 show_days = @zoom > 2 - subject_width = 320 + subject_width = 400 header_heigth = 18 # width of one day in pixels zoom = @zoom*2 @@ -115,7 +115,14 @@ module Redmine gc.stroke('transparent') gc.stroke_width(1) events.each do |i| - gc.text(4, top + 2, (i.is_a?(Issue) ? i.subject : i.name)) + text = "" + if i.is_a? Issue + text = "#{i.tracker} #{i.id}: #{i.subject}" + else + text = i.name + end + text = "#{i.project} - #{text}" unless project && project == i.project + gc.text(4, top + 2, text) top = top + 20 end -- 2.39.5