@php use App\Services\Formation\ImportApprenants; $etiquettes = [ ImportApprenants::CREER => ['À créer', 'success'], ImportApprenants::METTRE_A_JOUR => ['À mettre à jour', 'info'], ImportApprenants::IGNORER_ACTIF => ['Déjà actif — intact', 'warning'], ImportApprenants::IGNORER_DOUBLON => ['Doublon', 'gray'], ImportApprenants::IGNORER_INVALIDE => ['Invalide', 'danger'], ]; @endphp {{-- Import des inscrits (v2.0 §10) — l'écran en deux temps. Le rapport est affiché AVANT toute écriture, ligne à ligne, avec ce qui sera fait de chacune. Rien ne se produit tant que le second bouton n'a pas été pressé. --}} @if ($rapport === null)
{{ $this->form }}
Lire le fichier et afficher le rapport

Cette étape n'écrit rien en base.

@else
@foreach ($etiquettes as $cle => [$libelle, $couleur])
{{ $libelle }}
{{ $rapport['resume'][$cle] ?? 0 }}
@endforeach
@if (($rapport['resume']['anomalies'] ?? 0) > 0)

{{ $rapport['resume']['anomalies'] }} anomalie(s) relevée(s) — détaillées ligne à ligne ci-dessous. Une anomalie n'empêche pas l'import, sauf mention contraire.

@endif
@foreach ($rapport['lignes'] as $ligne) @endforeach
Ligne Nom Téléphone Village Parcours Décision Anomalies
{{ $ligne['numero'] }} {{ trim(($ligne['valeurs']['prenom'] ?? '').' '.($ligne['valeurs']['nom'] ?? '')) ?: '—' }} {{ $ligne['valeurs']['telephone'] ?? '—' }} {{ $ligne['valeurs']['village'] ?? '—' }} {{ $ligne['valeurs']['parcours'] ?? '—' }} {{ $etiquettes[$ligne['decision']][0] ?? $ligne['decision'] }} {{ implode(' · ', $ligne['anomalies']) }}
Écrire {{ ($rapport['resume'][ImportApprenants::CREER] ?? 0) + ($rapport['resume'][ImportApprenants::METTRE_A_JOUR] ?? 0) }} ligne(s) {{ $this->annulerAction }}
@endif