bernhard@553: {#- using project keys as zeiterfassung's workpackages bernhard@540: -#} bernhard@540: {%- for day, day_entries bernhard@540: in entries|sort(attribute='startisoday')|groupby('startisoday') -%} bernhard@540: {%- for project in projects -%} bernhard@540: {%- for project_id, project_day_entries bernhard@540: in day_entries|sort(attribute='project_id')|groupby('project_id') %} bernhard@540: bernhard@540: {%- if project_id == project.id -%} bernhard@540: {%- for entry in project_day_entries -%} bernhard@553: {{ entry.start|date_format }} {{ bernhard@553: (entry.get_duration()|human_time).rjust(5) bernhard@553: }}h a {{ user.ljust(3) }} [{{ project.key }}] {{ bernhard@553: entry.get_comment() bernhard@553: }}{{'\n'}} bernhard@553: {%- endfor -%} bernhard@540: {%- endif -%} bernhard@553: bernhard@540: {%- endfor -%} bernhard@540: {%- endfor -%} bernhard@540: {% endfor -%}