feat: ligne info services sous chaque client dans /admin/clients

Sous chaque ligne client, une ligne compacte affiche :
- Raison sociale, SIRET, type entreprise (si disponibles)
- Sites : nombre (placeholder, 0 pour l'instant)
- NDD : nombre de domaines liés au client
- Emails : nombre de DomainEmail liés aux domaines du client
- Sign : check vert/rouge (Esy-Signature activé)
- News : check vert/rouge (Esy-Mailer/Newsletter activé)
- Mail : check vert/rouge (au moins 1 email Esy-Mail)
- Statut paiement : OK (vert) ou IMPAYEE (rouge avec nombre)

ClientsController :
- index() reçoit EntityManagerInterface pour requêter Domain/DomainEmail
- buildCustomersInfo() : construit les compteurs par client
  (domains, emails, esyMail depuis DomainEmail count > 0)
- Les flags esySign/esyNewsletter/unpaid/sites seront branchés
  quand les entités correspondantes existeront

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-04-04 12:09:52 +02:00
parent c2c05505c8
commit 91b4100560
3 changed files with 87 additions and 11 deletions

View File

@@ -57,8 +57,10 @@ class ClientsControllerTest extends TestCase
$repo = $this->createStub(CustomerRepository::class);
$repo->method('findBy')->willReturn([]);
$em = $this->createStub(EntityManagerInterface::class);
$controller = $this->createController();
$response = $controller->index($repo);
$response = $controller->index($repo, $em);
$this->assertInstanceOf(Response::class, $response);
}