class TaskJuggler::TaskListRE

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.

Public Class Methods

new(report) click to toggle source

Create a new object and set some default values.

Calls superclass method TaskJuggler::TableReport.new
# File lib/taskjuggler/reports/TaskListRE.rb, line 26
def initialize(report)
  super
  @table = ReportTable.new
  @table.selfcontained = report.get('selfcontained')
  @table.auxDir = report.get('auxdir')
end

Public Instance Methods

generateIntermediateFormat() click to toggle source

Generate the table in the intermediate format.

# File lib/taskjuggler/reports/TaskListRE.rb, line 34
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