feat(transport) : filtre archivedOnly sur le repertoire (coherence M1/M2/M3)

Aligne CarrierProvider/DoctrineCarrierRepository sur Client/Supplier/Provider :
?archivedOnly=true n'expose que les archives (prioritaire sur includeArchived),
pour que le toggle « Voir les archives » du front (ERP-173/ERP-164) soit operant.
Parametre optionnel en fin de signature : retro-compatible avec les appels existants.
This commit is contained in:
Matthieu
2026-06-16 14:38:33 +02:00
parent dc75945f3e
commit aa23189fe1
3 changed files with 19 additions and 2 deletions
@@ -35,6 +35,7 @@ class DoctrineCarrierRepository extends ServiceEntityRepository implements Carri
bool $includeArchived = false,
?string $search = null,
array $certificationTypes = [],
bool $archivedOnly = false,
): QueryBuilder {
// Fetch-join de la SEULE relation ManyToOne qualimatCarrier (sur, pas de
// cartesien) pour exposer statut/date de validite QUALIMAT en liste sans
@@ -47,7 +48,11 @@ class DoctrineCarrierRepository extends ServiceEntityRepository implements Carri
;
// Pas de cloisonnement par site (§ 2.3) : referentiel global.
if (!$includeArchived) {
// Perimetre d'archivage : archivedOnly prioritaire sur includeArchived
// (jumeau de DoctrineProviderRepository — toggle « Voir les archives »).
if ($archivedOnly) {
$qb->andWhere('c.isArchived = true');
} elseif (!$includeArchived) {
$qb->andWhere('c.isArchived = false');
}