[#if tasksreport.dateIntervalStart??] [#if tasksreport.dateIntervalEnd??] ${tasksreport.dateIntervalStart?date} - ${tasksreport.dateIntervalEnd?date} [#else] After ${tasksreport.dateIntervalStart?date} [/#if] [#else] [#if tasksreport.dateIntervalEnd??] Before ${tasksreport.dateIntervalEnd?date} [#else] All dates [/#if] [/#if]
[#if tasksreport.tasks?size == 0]
There is no data available for the selected report settings.
[#else]
[#assign allTasks=tasksreport.filterWithTimeOrMoney(tasksreport.tasks)] [#assign allEstimated = tasksreport.calculateEstimatedTimeAsDecimal(tasksreport.tasks)] [#assign allElapsed = tasksreport.calculateElapsedTimeAsDecimal(tasksreport.tasks)]
Description |
Est. Time |
Time |
Progress |
|
---|---|---|---|---|
[#list tasksreport.groupClients(allTasks)?sort as client] [#assign clientTasks=tasksreport.filterByClient(allTasks, client)] [#assign clientEstimated = tasksreport.calculateEstimatedTimeAsDecimal(clientTasks)] [#assign clientElapsed = tasksreport.calculateElapsedTimeAsDecimal(clientTasks)] | ||||
${client.name} |
||||
[#list tasksreport.groupProjects(clientTasks)?sort as project] [#assign projectTasks=tasksreport.filterByProject(clientTasks, project)] | ||||
${project.name} |
||||
[#list projectTasks?sort as task] [#assign taskEstimated = tasksreport.calculateEstimatedTimeAsDecimal([task])] [#assign taskElapsed = tasksreport.calculateElapsedTimeAsDecimal([task])] | ||||
${task.name} ${task.description} |
${taskEstimated} |
${taskElapsed} |
[#if taskEstimated != 0]${(taskElapsed/taskEstimated)?string.percent}[#else]---[/#if] |
|
[/#list] | ||||
[/#list] | ||||
Subtotal for ${client.name} |
${clientEstimated} |
${clientElapsed} |
[#if clientEstimated != 0]${(clientElapsed/clientEstimated)?string.percent}[#else]---[/#if] |
|
[/#list] | ||||
Total |
${allEstimated} |
${allElapsed} |
[#if allEstimated != 0]${(allElapsed/allEstimated)?string.percent}[#else]---[/#if] |
[/#if]