Mercurial > getan > getan
annotate getan/templates/zeiterfassung-hierarchy1 @ 540:91aaf455c44e
Add new template zeiterfassung-hierarchy1
* Add template for getan-report for the use case where hierarchical
project keys are used to select the workpackages within a project.
The grouping within the new template is done the way it is, because
a second attribute lookup is not possible in Jinja2, when having
just an entry it is not possible to get the `projects[entry.project_id].key`.
author | Bernhard Reiter <bernhard@intevation.de> |
---|---|
date | Thu, 30 Jan 2020 10:47:20 +0100 |
parents | |
children | 413cabeca333 |
rev | line source |
---|---|
540
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
1 {#- using projects keys as zeiterfassungs workpackages |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
2 -#} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
3 {%- for day, day_entries |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
4 in entries|sort(attribute='startisoday')|groupby('startisoday') -%} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
5 {%- for project in projects -%} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
6 {%- for project_id, project_day_entries |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
7 in day_entries|sort(attribute='project_id')|groupby('project_id') %} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
8 |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
9 {%- if project_id == project.id -%} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
10 {{ day }} {{ (project_day_entries|duration|human_time).rjust(5) |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
11 }}h a {{ user.ljust(3) }} [{{ project.key }}] |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
12 {%- for entry in project_day_entries -%} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
13 {%- if loop.index == 1 -%}{{ ' ' }} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
14 {%- else -%}{{ ';\n ' }} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
15 {%- endif -%} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
16 {{ entry.get_comment() }} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
17 {%- endfor %}{{'\n'}} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
18 {%- endif -%} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
19 {%- endfor -%} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
20 {%- endfor -%} |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
21 # d total: {{ (day_entries|duration|human_time).rjust(5) }}h |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
22 |
91aaf455c44e
Add new template zeiterfassung-hierarchy1
Bernhard Reiter <bernhard@intevation.de>
parents:
diff
changeset
|
23 {% endfor -%} |