diff lib/redmine/export/.svn/text-base/pdf.rb.svn-base @ 22:40f7cfd4df19

* Update to SVN trunk rev 4173
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Fri, 24 Sep 2010 14:06:04 +0100
parents cca12e1c1fd4
children 0579821a129a
line wrap: on
line diff
--- a/lib/redmine/export/.svn/text-base/pdf.rb.svn-base	Wed Aug 25 16:30:24 2010 +0100
+++ b/lib/redmine/export/.svn/text-base/pdf.rb.svn-base	Fri Sep 24 14:06:04 2010 +0100
@@ -154,7 +154,7 @@
           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) + " (#{@issue_count_by_group[group]})",
+              (group.blank? ? 'None' : group.to_s) + " (#{query.issue_count_by_group[group]})",
               1, 1, 'L')
             pdf.SetFontStyle('',8)
             previous_group = group
@@ -184,7 +184,7 @@
         end
         pdf.Output
       end
-      
+
       # Returns a PDF string of a single issue
       def issue_to_pdf(issue)
         pdf = IFPDF.new(current_language)
@@ -208,7 +208,7 @@
         pdf.SetFontStyle('',9)
         pdf.Cell(60,5, issue.priority.to_s,"RT")        
         pdf.Ln
-          
+        
         pdf.SetFontStyle('B',9)
         pdf.Cell(35,5, l(:field_author) + ":","L")
         pdf.SetFontStyle('',9)
@@ -238,14 +238,14 @@
         pdf.SetFontStyle('',9)
         pdf.Cell(60,5, format_date(issue.due_date),"RB")
         pdf.Ln
-          
+        
         for custom_value in issue.custom_field_values
           pdf.SetFontStyle('B',9)
           pdf.Cell(35,5, custom_value.custom_field.name + ":","L")
           pdf.SetFontStyle('',9)
           pdf.MultiCell(155,5, (show_value custom_value),"R")
         end
-          
+        
         pdf.SetFontStyle('B',9)
         pdf.Cell(35,5, l(:field_subject) + ":","LTB")
         pdf.SetFontStyle('',9)
@@ -255,7 +255,7 @@
         pdf.SetFontStyle('B',9)
         pdf.Cell(35,5, l(:field_description) + ":")
         pdf.SetFontStyle('',9)
-        pdf.MultiCell(155,5, @issue.description,"BR")
+        pdf.MultiCell(155,5, issue.description,"BR")
         
         pdf.Line(pdf.GetX, y0, pdf.GetX, pdf.GetY)
         pdf.Line(pdf.GetX, pdf.GetY, 170, pdf.GetY)
@@ -311,187 +311,7 @@
         end
         pdf.Output
       end
-      
-      # Returns a PDF string of a gantt chart
-      def gantt_to_pdf(gantt, project)
-        pdf = IFPDF.new(current_language)
-        pdf.SetTitle("#{l(:label_gantt)} #{project}")
-        pdf.AliasNbPages
-        pdf.footer_date = format_date(Date.today)
-        pdf.AddPage("L")
-        pdf.SetFontStyle('B',12)
-        pdf.SetX(15)
-        pdf.Cell(70, 20, project.to_s)
-        pdf.Ln
-        pdf.SetFontStyle('B',9)
-        
-        subject_width = 100
-        header_heigth = 5
-        
-        headers_heigth = header_heigth
-        show_weeks = false
-        show_days = false
-        
-        if gantt.months < 7
-          show_weeks = true
-          headers_heigth = 2*header_heigth
-          if gantt.months < 3
-            show_days = true
-            headers_heigth = 3*header_heigth
-          end
-        end
-        
-        g_width = 280 - subject_width
-        zoom = (g_width) / (gantt.date_to - gantt.date_from + 1)
-        g_height = 120
-        t_height = g_height + headers_heigth
-        
-        y_start = pdf.GetY
-        
-        # Months headers
-        month_f = gantt.date_from
-        left = subject_width
-        height = header_heigth
-        gantt.months.times do 
-          width = ((month_f >> 1) - month_f) * zoom 
-          pdf.SetY(y_start)
-          pdf.SetX(left)
-          pdf.Cell(width, height, "#{month_f.year}-#{month_f.month}", "LTR", 0, "C")
-          left = left + width
-          month_f = month_f >> 1
-        end  
-        
-        # Weeks headers
-        if show_weeks
-          left = subject_width
-          height = header_heigth
-          if gantt.date_from.cwday == 1
-            # gantt.date_from is monday
-            week_f = gantt.date_from
-          else
-            # find next monday after gantt.date_from
-            week_f = gantt.date_from + (7 - gantt.date_from.cwday + 1)
-            width = (7 - gantt.date_from.cwday + 1) * zoom-1
-            pdf.SetY(y_start + header_heigth)
-            pdf.SetX(left)
-            pdf.Cell(width + 1, height, "", "LTR")
-            left = left + width+1
-          end
-          while week_f <= gantt.date_to
-            width = (week_f + 6 <= gantt.date_to) ? 7 * zoom : (gantt.date_to - week_f + 1) * zoom
-            pdf.SetY(y_start + header_heigth)
-            pdf.SetX(left)
-            pdf.Cell(width, height, (width >= 5 ? week_f.cweek.to_s : ""), "LTR", 0, "C")
-            left = left + width
-            week_f = week_f+7
-          end
-        end
-        
-        # Days headers
-        if show_days
-          left = subject_width
-          height = header_heigth
-          wday = gantt.date_from.cwday
-          pdf.SetFontStyle('B',7)
-          (gantt.date_to - gantt.date_from + 1).to_i.times do 
-            width = zoom
-            pdf.SetY(y_start + 2 * header_heigth)
-            pdf.SetX(left)
-            pdf.Cell(width, height, day_name(wday).first, "LTR", 0, "C")
-            left = left + width
-            wday = wday + 1
-            wday = 1 if wday > 7
-          end
-        end
-        
-        pdf.SetY(y_start)
-        pdf.SetX(15)
-        pdf.Cell(subject_width+g_width-15, headers_heigth, "", 1)
-        
-        # Tasks
-        top = headers_heigth + y_start
-        pdf.SetFontStyle('B',7)
-        gantt.events.each do |i|
-          pdf.SetY(top)
-          pdf.SetX(15)
-          
-          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
-          pdf.Cell(subject_width-15, 5, text, "LR")
-        
-          pdf.SetY(top + 0.2)
-          pdf.SetX(subject_width)
-          pdf.SetFillColor(255, 255, 255)
-          pdf.Cell(g_width, 4.6, "", "LR", 0, "", 1)
-          pdf.SetY(top+1.5)
-          
-          if i.is_a? Issue
-            i_start_date = (i.start_date >= gantt.date_from ? i.start_date : gantt.date_from )
-            i_end_date = (i.due_before <= gantt.date_to ? i.due_before : gantt.date_to )
-            
-            i_done_date = i.start_date + ((i.due_before - i.start_date+1)*i.done_ratio/100).floor
-            i_done_date = (i_done_date <= gantt.date_from ? gantt.date_from : i_done_date )
-            i_done_date = (i_done_date >= gantt.date_to ? gantt.date_to : i_done_date )
-            
-            i_late_date = [i_end_date, Date.today].min if i_start_date < Date.today
-            
-            i_left = ((i_start_date - gantt.date_from)*zoom) 
-            i_width = ((i_end_date - i_start_date + 1)*zoom)
-            d_width = ((i_done_date - i_start_date)*zoom)
-            l_width = ((i_late_date - i_start_date+1)*zoom) if i_late_date
-            l_width ||= 0
-          
-            pdf.SetX(subject_width + i_left)
-            pdf.SetFillColor(200,200,200)
-            pdf.Cell(i_width, 2, "", 0, 0, "", 1)
-          
-            if l_width > 0
-              pdf.SetY(top+1.5)
-              pdf.SetX(subject_width + i_left)
-              pdf.SetFillColor(255,100,100)
-              pdf.Cell(l_width, 2, "", 0, 0, "", 1)
-            end 
-            if d_width > 0
-              pdf.SetY(top+1.5)
-              pdf.SetX(subject_width + i_left)
-              pdf.SetFillColor(100,100,255)
-              pdf.Cell(d_width, 2, "", 0, 0, "", 1)
-            end
-            
-            pdf.SetY(top+1.5)
-            pdf.SetX(subject_width + i_left + i_width)
-            pdf.Cell(30, 2, "#{i.status} #{i.done_ratio}%")
-          else
-            i_left = ((i.start_date - gantt.date_from)*zoom) 
-            
-            pdf.SetX(subject_width + i_left)
-            pdf.SetFillColor(50,200,50)
-            pdf.Cell(2, 2, "", 0, 0, "", 1) 
-        
-            pdf.SetY(top+1.5)
-            pdf.SetX(subject_width + i_left + 3)
-            pdf.Cell(30, 2, "#{i.name}")
-          end
-          
-          top = top + 5
-          pdf.SetDrawColor(200, 200, 200)
-          pdf.Line(15, top, subject_width+g_width, top)
-          if pdf.GetY() > 180
-            pdf.AddPage("L")
-            top = 20
-            pdf.Line(15, top, subject_width+g_width, top)
-          end
-          pdf.SetDrawColor(0, 0, 0)
-        end
-        
-        pdf.Line(15, top, subject_width+g_width, top)
-        pdf.Output
-      end
+
     end
   end
 end