{# evaluation/_results.html.twig
Fragment retourné par searchAction (AJAX).
Contient uniquement le tableau + pagination + compteur.
Inclus aussi dans index.html.twig au premier chargement. #}
<div class="eval-count mb-2">
<span class="eval-count__num">{{ pagination.getTotalItemCount }}</span>
<span class="eval-count__lbl"> évaluation{{ pagination.getTotalItemCount > 1 ? 's' : '' }} trouvée{{ pagination.getTotalItemCount > 1 ? 's' : '' }}</span>
</div>
<div class="table-responsive">
<table class="table table-hover eval-table mb-0">
<thead>
<tr>
<th style="width:10%">Séq.</th>
<th style="width:14%" {% if pagination.isSorted('e.classroom.name') %}class="sorted"{% endif %}>Classe</th>
<th style="width:20%">Matière</th>
<th style="width:13%">Compétence</th>
<th style="width:8%" class="text-center">Succ.</th>
<th style="width:8%" class="text-center">Échec</th>
<th style="width:7%" class="text-center">Abs.</th>
<th style="width:10%" class="text-center">Moy. gén.</th>
<th style="width:10%" class="text-center">Actions</th>
</tr>
</thead>
<tbody>
{% for evaluation in pagination %}
{% set success = evaluation.successH + evaluation.successF %}
{% set faillure = evaluation.failluresH + evaluation.failluresF %}
{% set moy = evaluation.moyenne %}
<tr class="eval-row {% if moy >= 14 %}row-success{% elseif moy >= 10 %}row-mid{% else %}row-fail{% endif %}">
<td>
<span class="badge-seq">{{ evaluation.sequence.code }}</span>
</td>
<td>
<a href="{{ path('admin_classrooms_show', {id: evaluation.classroom.id}) }}" class="link-room">
{{ evaluation.classroom.name }}
</a>
</td>
<td class="td-course">{{ evaluation.course }}</td>
<td class="td-comp text-muted small">{{ evaluation.competence|striptags|slice(0,20) }}{% if evaluation.competence|striptags|length > 20 %}…{% endif %}</td>
<td class="text-center fw-500 text-success-dark">{{ success }}</td>
<td class="text-center fw-500 text-danger-dark">{{ faillure }}</td>
<td class="text-center text-muted">{{ evaluation.abscent }}</td>
<td class="text-center">
<span class="badge-moy {% if moy >= 14 %}bm-green{% elseif moy >= 10 %}bm-amber{% else %}bm-red{% endif %}">
{{ moy|round(2,'floor') }}
</span>
</td>
<td class="text-center">
<div class="btn-group btn-group-sm">
<a target="_blank" class="btn btn-outline-secondary btn-sm" href="{{ path('admin_evaluations_pdf', {id: evaluation.id}) }}" title="Télécharger PDF">
<i class="fa fa-download"></i>
</a>
{% if is_granted('ROLE_ADMIN') %}
<a target="_blank" class="btn btn-outline-warning btn-sm" href="{{ path('admin_evaluations_edit', {id: evaluation.id|default('1')}) }}" title="Modifier">
<i class="fa fa-edit"></i>
</a>
<a class="btn btn-outline-danger btn-sm" href="#" title="Supprimer"
onclick="event.preventDefault(); confirm('Supprimer cette évaluation ?') && document.getElementById('del-{{ evaluation.id }}').submit();">
<i class="fa fa-trash"></i>
</a>
<form id="del-{{ evaluation.id }}" action="{{ path('admin_evaluations_delete', {id: evaluation.id}) }}" method="post" style="display:none">
<input type="hidden" name="csrf_token" value="{{ csrf_token('evaluations_deletion' ~ evaluation.id) }}">
<input type="hidden" name="_method" value="DELETE">
</form>
{% endif %}
</div>
</td>
</tr>
{% else %}
<tr>
<td colspan="9" class="text-center py-4 text-muted">
<i class="fa fa-search mr-2"></i>Aucune évaluation ne correspond aux filtres sélectionnés.
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% if pagination.getTotalItemCount > 0 %}
<div class="navigation text-center mt-3">
{{ knp_pagination_render(pagination) }}
</div>
{% endif %}