{% import "macros.html" as m %} {% if not view.ok %} {{ m.absence(view) }} {% else %}

Roadmap to {{ view.final_stage.label or '—' }}

start → done → now → left
{% for s in view.stages %}
{% if loop.index0 == view.here %}you are here {{ m.derived() }}{% endif %}
{{ s.label }}
{{ m.tstate(s.state) }}
{{ ((s.progress|default(0)) * 100)|round|int }}%
{% if not loop.last %}{% endif %} {% endfor %}

Stages — risk · cost · dependency

{% for s in view.stages %} {% endfor %}
StateStageProgress RiskEffortETADepsOwner
{{ m.tstate(s.state) }}
{{ s.label }}
{% if s.summary %}
{{ s.summary }}
{% endif %}
{{ ((s.progress|default(0)) * 100)|round|int }}% {% if s.risk %}{{ s.risk }}{% else %}{% endif %} {% if s.effort %}{{ s.effort }}{% else %}{% endif %} {{ s.eta or '—' }} {{ s.depends_on|join(', ') if s.depends_on else '—' }} {{ s.owner or '—' }}
{% endif %}