{# Shared task list section used by both views/sprints/show.twig and views/sprints/present.twig. The owning template provides: sprint, currentUser, sprintWorkers, tasks, taskGrid, statusGrid, ownerChoices, taskStatusEnabled. #} {% set TaskAssignment_STATUSES = constant('App\\Domain\\TaskAssignment::STATUSES') %} {% set STATUS_ZUGEWIESEN = constant('App\\Domain\\TaskAssignment::STATUS_ZUGEWIESEN') %}

Tasks

{% if taskStatusEnabled %}
{% endif %}
{% if currentUser.isAdmin %} {% endif %}
{% for sw in sprintWorkers %} {% endfor %} {% if tasks is empty %} {% else %} {% for t in tasks %} {% set assign = taskGrid[t.id]|default({}) %} {% set tot = 0 %} {% for v in assign %}{% set tot = tot + v %}{% endfor %} {% set links = linkedMap[t.id]|default([]) %} {% include "sprints/_task_row.twig" with { t: t, assign: assign, links: links, tot: tot } %} {% endfor %} {% endif %}
Task Owner Prio Tot {{ sw.workerName }}
No tasks yet. {% if currentUser.isAdmin %} Click + Add task to start. {% endif %}
{# Hidden row template — sprint-planner.js clones this when the admin clicks "+ Add task" so JS-built rows can never drift from the server-rendered ones above (R02-N02). #} {% if currentUser.isAdmin %} {% endif %}