class TaskJuggler::ResourceListRE

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

Public Class Methods

new(report) click to toggle source

Create a new object and set some default values.

Calls superclass method
# File lib/taskjuggler/reports/ResourceListRE.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.

Calls superclass method
# File lib/taskjuggler/reports/ResourceListRE.rb, line 34
def generateIntermediateFormat
  super

  # Prepare the resource list.
  resourceList = PropertyList.new(@project.resources)
  resourceList.setSorting(@report.get('sortResources'))
  resourceList.query = @report.project.reportContexts.last.query
  resourceList = filterResourceList(resourceList, nil,
                                    @report.get('hideResource'),
                                    @report.get('rollupResource'),
                                    @report.get('openNodes'))
  resourceList.sort!

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

  assignedTaskList = []
  resourceList.each do |resource|
    assignedTaskList += filterTaskList(taskList, resource,
                                       @report.get('hideTask'),
                                       @report.get('rollupTask'),
                                       @report.get('openNodes'))
    assignedTaskList.uniq!
  end


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

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