Class TaskJuggler::ResourceListRE
In: lib/taskjuggler/reports/ResourceListRE.rb
Parent: TableReport

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.

Methods

Public Class methods

Create a new object and set some default values.

[Source]

# File lib/taskjuggler/reports/ResourceListRE.rb, line 27
    def initialize(report)
      super
      @table = ReportTable.new
    end

Public Instance methods

Generate the table in the intermediate format.

[Source]

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

[Validate]