{% extends 'layouts/base.twig' %} {% block title %}{{ translations.cases_team_title }}{% endblock %} {% block head %} {{ parent() }} {% endblock %} {% block page_heading %}

{{ translations.cases_team_title }}

{{ translations.cases_team_subtitle }}

{% endblock %} {% block content %} {% if team is empty %}
{{ translations.cases_team_empty }}
{{ translations.cases_team_empty_hint }}
{% else %} {# ── Zbieramy unikalną listę obszarów do filtra ── #} {% set allAreas = [] %} {% set areaKeySet = [] %} {% for c in team %} {% for a in c.getAreas() %} {% set akey = a.area_key ?? a.key ?? a.label %} {% if akey and akey not in areaKeySet %} {% set areaKeySet = areaKeySet|merge([akey]) %} {% set allAreas = allAreas|merge([{ 'key': akey, 'label': a.label ?? akey }]) %} {% endif %} {% endfor %} {% endfor %} {# Średnia obszarów na konsultanta #} {% set totalAreas = 0 %} {% for c in team %}{% set totalAreas = totalAreas + c.getAreas()|length %}{% endfor %} {% set avgAreas = team|length > 0 ? (totalAreas / team|length) : 0 %}
{{ translations.cases_team_overview }}
{# Statystyki #}
{{ team|length }}
{{ translations.cases_team_consultants_label }}
{{ allAreas|length }}
{{ translations.cases_team_areas_label }}
{{ avgAreas|number_format(1, ',', ' ') }}
{{ translations.cases_team_avg_areas }}
{# Toolbar: filtr obszarów + wyszukiwarka #}
{{ translations.cases_team_filter_area }}: {% for a in allAreas %} {% endfor %}
{# ── Siatka konsultantów ── #}
{% for consultant in team %} {% set areas = consultant.getAreas() %} {% set areaKeys = [] %} {% for a in areas %}{% set areaKeys = areaKeys|merge([a.area_key ?? a.key ?? a.label]) %}{% endfor %} {% set searchBlob = (consultant.getFullName() ~ ' ' ~ consultant.getEmail() ~ ' ' ~ consultant.getPositionName())|lower %} {% set modalPayload = { 'name': consultant.getFullName(), 'initials': consultant.getInitials(), 'avatar': loop.index0 % 6, 'position': consultant.getPositionName(), 'level': consultant.getLevelName(), 'email': consultant.getEmail(), 'phone': consultant.getPhone(), 'areas': areas } %}
{{ consultant.getInitials() }}
{{ consultant.getFullName() }}
{% if consultant.getPositionName() %}
{{ consultant.getPositionName() }} {% if consultant.getLevelName() %} {{ consultant.getLevelName() }} {% endif %}
{% endif %} {% if consultant.getEmail() or consultant.getPhone() %}
{% if consultant.getEmail() %} {{ consultant.getEmail() }} {% endif %} {% if consultant.getPhone() %} {{ consultant.getPhone() }} {% endif %}
{% endif %}
{{ translations.cases_responsibility_areas }} {% if areas is not empty %} {{ areas|length }} {% endif %}
{% if areas is empty %} {{ translations.cases_no_areas }} {% else %}
{% for area in areas|slice(0, 5) %} {{ area.label ?? area.area_key ?? area.key }} {% endfor %} {% if areas|length > 5 %} +{{ areas|length - 5 }} {% endif %}
{% endif %}
{% endfor %}
{# ── Modal szczegółów konsultanta ── #} {% endif %} {% endblock %}