]> source.dussan.org Git - redmine.git/commitdiff
Merged r3883, r3884 and r3885 from trunk.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 25 Jul 2010 11:49:07 +0000 (11:49 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 25 Jul 2010 11:49:07 +0000 (11:49 +0000)
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
lib/redmine/export/pdf.rb
lib/redmine/helpers/gantt.rb

index bc2d6350c18bc885d5c065488fd2c93a1477f885..e762c19c81d3388a0b81b14fd7295024fad0bdcc 100644 (file)
@@ -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
index c24921653db72cc1edd9a694c30d6347c0def40a..9b1f2b8a22900a877935d54ad7613ea1fdd11fdc 100644 (file)
@@ -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
index 330b58ee740f1edfcb738bba29bee20f9a975cde..96ba4db7c0ac2020343d35613c1ce82cf2fb45c8 100644 (file)
@@ -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