Class: TaskJuggler::TaskListRE

Inherits:
TableReport show all
Defined in:
lib/taskjuggler/reports/TaskListRE.rb

Overview

This specialization of TableReport implements a task listing. It generates a list of tasks that can optionally have the allocated resources nested underneath each task line.

Instance Attribute Summary

Attributes inherited from TableReport

#legend

Instance Method Summary collapse

Methods inherited from TableReport

alignment, calculated?, defaultColumnTitle, indent, scenarioSpecific?, #to_csv, #to_html

Methods inherited from ReportBase

#a, #filterAccountList, #filterResourceList, #filterTaskList

Constructor Details

#initialize(report) ⇒ TaskListRE

Create a new object and set some default values.



27
28
29
30
31
32
# File 'lib/taskjuggler/reports/TaskListRE.rb', line 27

def initialize(report)
  super
  @table = ReportTable.new
  @table.selfcontained = report.get('selfcontained')
  @table.auxDir = report.get('auxdir')
end

Instance Method Details

#generateIntermediateFormatObject

Generate the table in the intermediate format.



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/taskjuggler/reports/TaskListRE.rb', line 35

def generateIntermediateFormat
  super

  # Prepare the task list.
  taskList = PropertyList.new(@project.tasks)
  taskList.includeAdopted
  taskList.setSorting(@report.get('sortTasks'))
  taskList.query = @report.project.reportContexts.last.query
  taskList = filterTaskList(taskList, nil, @report.get('hideTask'),
                            @report.get('rollupTask'),
                            @report.get('openNodes'))
  taskList.sort!
  taskList.checkForDuplicates(@report.sourceFileInfo)

  # Prepare the resource list. Don't filter it yet! It would break the
  # *_() LogicalFunctions.
  resourceList = PropertyList.new(@project.resources)
  resourceList.setSorting(@report.get('sortResources'))
  resourceList.query = @report.project.reportContexts.last.query
  resourceList.sort!

  # Generate the table header.
  @report.get('columns').each do |columnDescr|
    adjustColumnPeriod(columnDescr, taskList, @report.get('scenarios'))
    generateHeaderCell(columnDescr)
  end

  # Generate the list.
  generateTaskList(taskList, resourceList, nil)
end