feat: page client /admin/clients/{id} avec onglets et gestion contacts
Route /admin/clients/{id} (ClientsController::show) :
- 10 onglets : Information globale, Contacts, Factures, Avis de Paiement,
Devis, Impayes, Echeancier, EsyFlex, Sites Internet, Services
- Onglet actif via query param ?tab=
Onglet Information globale :
- Formulaire edition complet : identite (prenom, nom, email, phone, type),
entreprise (raison sociale, SIRET, RCS, TVA, APE, RNA),
adresse (adresse, complement, CP, ville, geoLat/geoLong hidden)
- Section systeme : code comptable, Stripe ID, dates creation/modification
- POST sauvegarde + updatedAt mis a jour
Onglet Contacts :
- Formulaire ajout contact : prenom, nom, email, phone, role, isBillingEmail
- Table des contacts existants avec suppression (data-confirm modal)
- Gestion via handleContactForm() : create/delete avec verification owner
Onglets placeholder :
- Factures, Avis, Devis, Impayes, Echeancier, EsyFlex, Sites, Services
affichent "Cette section sera disponible prochainement"
Customer entity :
- Ajout setUpdatedAt()
Template index :
- Nom du client cliquable (lien vers show)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -70,8 +70,9 @@ class AdminControllersTest extends TestCase
|
||||
{
|
||||
$repo = $this->createStub(CustomerRepository::class);
|
||||
$repo->method('findBy')->willReturn([]);
|
||||
$em = $this->createStub(\Doctrine\ORM\EntityManagerInterface::class);
|
||||
$controller = $this->createMockController(ClientsController::class);
|
||||
$response = $controller->index($repo);
|
||||
$response = $controller->index($repo, $em);
|
||||
$this->assertInstanceOf(Response::class, $response);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user