Class TaskJuggler::Tj3TsSummary
In: lib/taskjuggler/apps/Tj3TsSummary.rb
Parent: Tj3SheetAppBase

Methods

Public Class methods

[Source]

# File lib/taskjuggler/apps/Tj3TsSummary.rb, line 27
    def initialize
      super

      # The default report period end is next Monday 0:00.
      @date = TjTime.new.nextDayOfWeek(1).to_s('%Y-%m-%d')
      @resourceList = []
      @sheetRecipients = []
      @digestRecipients = []
    end

Public Instance methods

[Source]

# File lib/taskjuggler/apps/Tj3TsSummary.rb, line 68
    def appMain(argv)
      ts = TimeSheetSummary.new
      @rc.configure(ts, 'global')
      @rc.configure(ts, 'timesheets')
      @rc.configure(ts, 'timesheets.summary')
      ts.workingDir = @workingDir if @workingDir
      ts.dryRun = @dryRun
      ts.date = @date if @date
      ts.sheetRecipients += @sheetRecipients
      ts.digestRecipients += @digestRecipients

      ts.sendSummary(@resourceList)

      0
    end

[Source]

# File lib/taskjuggler/apps/Tj3TsSummary.rb, line 37
    def processArguments(argv)
      super do
        @opts.banner += "This program can be used to send out individual copies and a summary of all\naccepted time sheets a list of email addresses. The directory structures for\ntemplates and submitted time sheets must be present. The project data will be\naccesses via tj3client from a running TaskJuggler server process.\n"
        @opts.on('-r', '--resource <ID>', String,
                 format('Only generate summary for given resource')) do |arg|
          @resourceList << arg
        end
        @opts.on('-t', '--to <EMAIL>', String,
                 format('Send all individual reports and a summary report ' +
                        'to this email address')) do |arg|
          @sheetRecipients << arg
          @digestRecipients << arg
        end
        @opts.on('--sheet <EMAIL>', String,
                 format('Send all reports to this email address')) do |arg|
          @sheetRecipients << arg
        end
        @opts.on('--digest <EMAIL>', String,
                 format('Send a summary report to this email address')) do |arg|
          @digestRecipients << arg
        end
        optsEndDate
      end
    end

[Validate]