{% extends "layout.twig" %} {% set dayLabels = constant('App\\Domain\\SprintWeek::DAY_LABELS') %} {% block content %}

{{ sprint.name }}

{{ sprint.startDate }} – {{ sprint.endDate }} · Reserve {{ (sprint.reserveFraction * 100)|number_format(0) }}% {% if sprint.isArchived %} · archived {% endif %}

Present {% if currentUser.isAdmin %} Settings {% endif %}
{% if sprintWorkers is empty or weeks is empty %}
{% if weeks is empty %} No weeks yet. Open settings to add some. {% elseif sprintWorkers is empty %} No workers on this sprint yet. Open settings to add some. {% endif %}
{% else %}
{% for w in weeks %} {% endfor %} {% set sumMax = 0 %} {% for w in weeks %} {% set sumMax = sumMax + w.maxWorkingDays %} {% endfor %} {% for sw in sprintWorkers %} {% set rowDays = grid[sw.id]|default({}) %} {% set rowSum = 0 %} {% for v in rowDays %}{% set rowSum = rowSum + v %}{% endfor %} {% for w in weeks %} {% set v = rowDays[w.id]|default(0.0) %} {% endfor %} {% endfor %}
 
KW{{ w.isoWeek }}
{{ w.startDate }}
Σ RTB
Arbeitstage {% if currentUser.isAdmin %} (edit) {% endif %}
{% for bit, label in dayLabels %} {% endfor %}
{{ fmt_days(sumMax) }}  
{% if currentUser.isAdmin %} {% endif %} {{ sw.workerName }} {% if currentUser.isAdmin %} {% else %} {{ fmt_days(v) }} {% endif %} {{ fmt_days(rowSum) }} {% if currentUser.isAdmin %} {% else %} {{ fmt_rtb(sw.rtb) }} {% endif %}
Capacity
{% for sw in sprintWorkers %} {% endfor %} {% for sw in sprintWorkers %} {% set c = capacity[sw.id]|default(null) %} {% endfor %} {% for sw in sprintWorkers %} {% set c = capacity[sw.id]|default(null) %} {% endfor %} {% for sw in sprintWorkers %} {% set c = capacity[sw.id]|default(null) %} {% set av = c.available|default(0.0) %} {% endfor %}
  {{ sw.workerName }}
Ressourcen {{ fmt_days(c.ressourcen|default(0.0)) }}
− Reserven {{ fmt_days(c.after_reserves|default(0.0)) }}
Available {{ fmt_days(av) }}

Numeric inputs snap to 0.5 (days) or 0.05 (RTB) on blur. Edits save automatically with a 400 ms debounce; Available turns red if a worker is overcommitted.

{% include "sprints/_task_list.twig" %} {% endif %}
{% endblock %}