@php /** * Barre de filtres des découpes posées, sur le modèle de celle des * commandes : chaque pastille est un lien, l'url porte l'état complet de * l'écran, et cliquer une pastille active la désactive. * * Ordre, libellés et couleurs viennent de config/commandes.php — le * déroulé de la découpe pour les états, l'alphabétique pour les * laséristes. La base ne stocke qu'un code. * * Attendus : $etats / $laseristes (facettes ordonnées par le contrôleur), * $filtres, $q, $total, $tri, $commandesFiltre. */ // Le tri suit les filtres, comme sur l'index des commandes : changer de // pastille ne doit pas faire perdre l'ordre qu'on vient de choisir. // Le filtre sur la selection des commandes aussi : une pastille ne // ramene pas la liste entiere. $lien = function (array $modifs) use ($filtres, $q, $tri, $commandesFiltre) { $params = $filtres; if ($tri !== '') { $params['tri'] = $tri; } if ($commandesFiltre) { $params['commandes'] = $commandesFiltre; } foreach ($modifs as $cle => $valeur) { if ($valeur === null) { unset($params[$cle]); } else { $params[$cle] = $valeur; } } if ($q !== '') { $params['q'] = $q; } return route('commande_decoupes.index', $params); }; @endphp {{-- ---------------------------- État ---------------------------- --}}
{{ __('État') }}
@foreach ($etats as $etat) @php $actif = ($filtres['etat'] ?? null) === $etat['code']; // Un état vide ne mène nulle part : on le montre pour garder // la barre stable, mais on ne le rend pas cliquable. $vide = $etat['count'] === 0 && !$actif; @endphp {{ $etat['label'] }} {{ $etat['count'] }} @endforeach {{-- Le total ferme la barre, comme sur l'index des commandes. `isset` et non `empty` : « sans état » vaut le code 0, qu'empty confondrait avec l'absence de filtre — les deux pastilles s'allumeraient ensemble. --}} {{ __('TOTAL') }} {{ $total }}
{{-- ---------------------------- Lasériste ---------------------------- Qui a fait la découpe : les prestataires, et ACPORTAIL quand l'atelier s'en charge lui-même. --}}
{{ __('Lasériste') }}
{{-- Meme raison qu'au-dessus : « sans lasériste » porte le code 0. --}} {{ __('Tous') }} @foreach ($laseristes as $laseriste) @php $actif = ($filtres['laseriste'] ?? null) === $laseriste['code']; $vide = $laseriste['count'] === 0 && !$actif; @endphp {{ $laseriste['label'] }} {{ $laseriste['count'] }} @endforeach @if (!empty($filtres) || $q !== '' || $tri !== '') {{ __('Tout réinitialiser') }} @endif
{{-- Tri par echeance de la commande, le meme bouton que sur l'index des commandes. Ce n'est pas un filtre : il ne retire aucune ligne, il remonte celles dont la commande presse. --}}
{{ __('Trier par échéance') }}