{% extends 'admin/layout.html.twig' %} {% macro sort_link(label,field,filters,query) %}{% set nextDirection=filters.sort==field and filters.direction=='asc'?'desc':'asc' %}{{ label }}{% if filters.sort==field %}tri {{ filters.direction=='asc'?'croissant':'décroissant' }}{% endif %}{% endmacro %} {% import _self as page %} {% block title %}Bilans de représentation — Walk The Line{% endblock %} {% block admin_body %} {% set actions=[] %}{% if can_permission('CONCERT_FEEDBACK',2) %}{% set actions=actions|merge([{label:'Nouveau bilan',href:path('admin_concert_feedback_new'),icon:'bi-clipboard2-plus',primary:true}]) %}{% endif %}{% if total>0 %}{% set actions=actions|merge([{label:'Exporter Excel',href:path('admin_concert_feedback_export',app.request.query.all),icon:'bi-file-earmark-excel'}]) %}{% endif %} {% include 'admin/ui/_page_header.html.twig' with {page_eyebrow:'Analyse après concert',page_title:'Bilans de représentation',page_subtitle:'Un bilan complet par représentation, limité au projet actif.',page_actions:actions} only %}
Bilans{{ statistics.total }}
Note globale{{ statistics.overallCount ? statistics.overall~'/10':'—' }}
Qualité artistique{{ statistics.artisticCount ? statistics.artistic~'/10':'—' }}
Accueil{{ statistics.welcomeCount ? statistics.welcome~'/10':'—' }}
Spectateurs cumulés{{ statistics.audienceCount ? statistics.audience:'—' }}
Rechercher, filtrer et trier
{% if items %}
{% for item in items %}
{{ item.representationDateSnapshot|date('d/m/Y') }}

{{ item.venueNameSnapshot }}

{{ item.venueCitySnapshot }}
{% if item.artisticRating is not same as(null) %}Artistique {{ item.artisticRating }}/10{% endif %}{% if item.welcomeRating is not same as(null) %}Accueil {{ item.welcomeRating }}/10{% endif %}{% if item.approximateAudience is not same as(null) %}{{ item.approximateAudience }} spect.{% endif %}
Consulter{% if can_permission('CONCERT_FEEDBACK',2) %}{% endif %}
{% endfor %}
{% for item in items %}{% endfor %}
{{ page.sort_link('Date','eventDate',filters,app.request.query.all) }}{{ page.sort_link('Lieu','venue',filters,app.request.query.all) }}{{ page.sort_link('Saisie','createdAt',filters,app.request.query.all) }}{{ page.sort_link('Spectateurs','audience',filters,app.request.query.all) }}{{ page.sort_link('Global','overall',filters,app.request.query.all) }}{{ page.sort_link('Artistique','artistic',filters,app.request.query.all) }}{{ page.sort_link('Accueil','welcome',filters,app.request.query.all) }}Reprogrammation
{{ item.representationDateSnapshot|date('d/m/Y') }}{{ item.venueNameSnapshot }}
{{ item.venueCitySnapshot }}
{{ item.createdAt|date('d/m/Y H:i') }}
{{ item.createdBy ? item.createdBy.displayName : 'Compte supprimé' }}
{{ item.approximateAudience is same as(null) ? '—' : item.approximateAudience }}{{ item.overallRating is same as(null) ? '—' : item.overallRating~'/10' }}{{ item.artisticRating is same as(null) ? '—' : item.artisticRating~'/10' }}{{ item.welcomeRating is same as(null) ? '—' : item.welcomeRating~'/10' }}{{ choices.label('rebookingPotential',item.rebookingPotential) ?: '—' }}Consulter
{% if pages>1 %}{% endif %} {% else %}{% include 'admin/ui/_empty_state.html.twig' with {empty_icon:'bi-clipboard2-pulse',empty_title:'Aucun bilan de représentation',empty_text:'Créez le bilan d’une représentation passée pour commencer l’analyse.',empty_action:can_permission('CONCERT_FEEDBACK',2)?{href:path('admin_concert_feedback_new'),label:'Nouveau bilan'}:null} %}{% endif %} {% endblock %}