Time summary by task and month

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



[#if timereport.timeEntries?size == 0]

There is no data available for the selected report settings.

[#else]

[#assign allTimeEntries=timereport.timeEntries]

[#assign months=timereport.groupDatesByMonth(allTimeEntries)]

Task

[#list months?sort as month]

${month.toString("MMM yyyy")}

[/#list]

Time

[#list timereport.groupClients(allTimeEntries)?sort as client] [#assign clientTimeEntries=timereport.filterByClient(allTimeEntries, client)]
[#list timereport.groupProjects(clientTimeEntries)?sort as project] [#assign projectTimeEntries=timereport.filterByProject(clientTimeEntries, project)]

${client.name} / ${project.name}

[#list timereport.groupTasks(projectTimeEntries)?sort as task] [#assign taskTimeEntries=timereport.filterByTask(projectTimeEntries, task)]

${task.name}

[#list months?sort as month]

[#assign taskDateTimeEntries=timereport.filterByDate(taskTimeEntries, month.toInterval())]${timereport.calculateElapsedTimeAsHour(taskDateTimeEntries)}

[/#list]

${timereport.calculateElapsedTimeAsHour(taskTimeEntries)}

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

Total

[#list months?sort as month]

[#assign dateTimeEntries=timereport.filterByDate(allTimeEntries, month.toInterval())]${timereport.calculateElapsedTimeAsHour(dateTimeEntries)}

[/#list]

${timereport.calculateElapsedTimeAsHour(allTimeEntries)}

[/#if]