Tasks Report

Project tasks


[#if tasksreport.dateIntervalStart??] [#if tasksreport.dateIntervalEnd??] Date: ${tasksreport.dateIntervalStart?date} - ${tasksreport.dateIntervalEnd?date} [#else] Date: After ${tasksreport.dateIntervalStart?date} [/#if] [#else] [#if tasksreport.dateIntervalEnd??] Date: Before ${tasksreport.dateIntervalEnd?date} [#else] Date: All dates [/#if] [/#if]

[#assign allTasks=tasksreport.filterWithTimeOrMoney(tasksreport.tasks)]

Description

Time

Billed Total

Billable Total

Total

[#list tasksreport.groupClients(allTasks)?sort as client] [#assign clientTasks=tasksreport.filterByClient(allTasks, client)]

${client.name}

${tasksreport.calculateElapsedTimeAsHour(clientTasks)}

${tasksreport.calculateBilledTotal(clientTasks)}

${tasksreport.calculateBillableTotal(clientTasks)}

${tasksreport.calculateTotal(clientTasks)}

[#list tasksreport.groupProjects(clientTasks)?sort as project] [#assign projectTasks=tasksreport.filterByProject(clientTasks, project)]

${project.name}

${tasksreport.calculateElapsedTimeAsHour(projectTasks)}

${tasksreport.calculateBilledTotal(projectTasks)}

${tasksreport.calculateBillableTotal(projectTasks)}

${tasksreport.calculateTotal(projectTasks)}

[#list projectTasks?sort as task]

${task.name}

${task.description}

${tasksreport.calculateElapsedTimeAsHour(task)}

${tasksreport.calculateBilledTotal(task)}

${tasksreport.calculateBillableTotal(task)}

${tasksreport.calculateTotal(task)}

[#list tasksreport.getTimeEntries(task)?sort_by("date") as timeEntry]

${timeEntry.description}

${timeEntry.date?string("EEE, MMM dd")} - ${timeEntry.elapsedTimeAsHour}

[/#list]
[/#list]
[/#list]
[/#list]

Total

${tasksreport.calculateElapsedTimeAsHour(allTasks)}

${tasksreport.calculateBilledTotal(allTasks)}

${tasksreport.calculateBillableTotal(allTasks)}

${tasksreport.calculateTotal(allTasks)}