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

Methods

Public Class methods

[Source]

# File lib/taskjuggler/apps/Tj3TsSender.rb, line 27
    def initialize
      super
      @optsSummaryWidth = 22
      @force = false
      @intervalDuration = nil

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

Public Instance methods

[Source]

# File lib/taskjuggler/apps/Tj3TsSender.rb, line 59
    def appMain(argv)
      ts = TimeSheetSender.new('tj3ts_sender')
      @rc.configure(ts, 'global')
      @rc.configure(ts, 'timesheets')
      @rc.configure(ts, 'timesheets.sender')
      ts.workingDir = @workingDir if @workingDir
      ts.dryRun = @dryRun
      ts.force = @force
      ts.intervalDuration = @intervalDuration if @intervalDuration
      ts.date = @date if @date

      ts.sendTemplates(@resourceList)

      0
    end

[Source]

# File lib/taskjuggler/apps/Tj3TsSender.rb, line 38
    def processArguments(argv)
      super do
        @opts.banner += "This program can be used to send out time sheets templates via email. It will\ngenerate time sheet templates for all resources of the project. The project\ndata will be accesses via tj3client from a running TaskJuggler server process.\n"
        @opts.on('-r', '--resource <ID>', String,
                format('Only generate template for given resource')) do |arg|
          @resourceList << arg
        end
        @opts.on('-f', '--force',
                format('Send out a new template even if one exists ' +
                       'already')) do |arg|
          @force = true
        end
        optsEndDate
      end
    end

[Validate]