diff --git a/assets/modules/entreprise-search.js b/assets/modules/entreprise-search.js index e6757fe..d5bb4a0 100644 --- a/assets/modules/entreprise-search.js +++ b/assets/modules/entreprise-search.js @@ -22,11 +22,17 @@ const fillFieldIfEmpty = (id, value) => { if (el && !el.value && value) el.value = value } +const buildRcs = (siren, city) => { + if (!siren || !city) return '' + return 'RCS ' + capitalize(city) + ' ' + siren +} + const renderResult = (e, onSelect) => { const s = e.siege || {} const d = (e.dirigeants && e.dirigeants[0]) || {} const actif = e.etat_administratif === 'A' const addr = [s.numero_voie, s.type_voie, s.libelle_voie].filter(Boolean).join(' ') + const ape = e.activite_principale || '' const div = document.createElement('div') div.className = 'glass p-4 cursor-pointer hover:bg-white/80 transition-all' @@ -37,6 +43,7 @@ const renderResult = (e, onSelect) => {
SIREN ${e.siren || '?'} ${s.siret ? ' — SIRET ' + s.siret + '' : ''} + ${ape ? ' — APE ' + ape + '' : ''}
${s.geo_adresse || s.adresse || ''}
${d.nom ? '
Dirigeant : ' + (d.prenoms || '') + ' ' + d.nom + '
' : ''} @@ -49,7 +56,9 @@ const renderResult = (e, onSelect) => { div.addEventListener('click', () => { fillField('raisonSociale', e.nom_raison_sociale || e.nom_complet || '') fillField('siret', s.siret || '') + fillField('rcs', buildRcs(e.siren, s.libelle_commune)) fillField('numTva', computeTva(e.siren)) + fillField('ape', ape) fillField('address', addr) fillField('zipCode', s.code_postal || '') fillField('city', s.libelle_commune || '') diff --git a/migrations/Version20260404085856.php b/migrations/Version20260404085856.php new file mode 100644 index 0000000..a313abe --- /dev/null +++ b/migrations/Version20260404085856.php @@ -0,0 +1,31 @@ +addSql('ALTER TABLE customer ADD ape VARCHAR(10) DEFAULT NULL'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('ALTER TABLE customer DROP ape'); + } +} diff --git a/src/Controller/Admin/ClientsController.php b/src/Controller/Admin/ClientsController.php index 1301f13..499d21e 100644 --- a/src/Controller/Admin/ClientsController.php +++ b/src/Controller/Admin/ClientsController.php @@ -91,6 +91,7 @@ class ClientsController extends AbstractController $customer->setSiret(trim($request->request->getString('siret')) ?: null); $customer->setRcs(trim($request->request->getString('rcs')) ?: null); $customer->setNumTva(trim($request->request->getString('numTva')) ?: null); + $customer->setApe(trim($request->request->getString('ape')) ?: null); $customer->setAddress(trim($request->request->getString('address')) ?: null); $customer->setAddress2(trim($request->request->getString('address2')) ?: null); $customer->setZipCode(trim($request->request->getString('zipCode')) ?: null); diff --git a/src/Entity/Customer.php b/src/Entity/Customer.php index 644d0eb..dfb90cb 100644 --- a/src/Entity/Customer.php +++ b/src/Entity/Customer.php @@ -83,6 +83,9 @@ class Customer #[ORM\Column(length: 20, nullable: true)] private ?string $numTva = null; + #[ORM\Column(length: 10, nullable: true)] + private ?string $ape = null; + #[ORM\Column(length: 255, nullable: true)] private ?string $stripeCustomerId = null; @@ -301,6 +304,18 @@ class Customer return $this; } + public function getApe(): ?string + { + return $this->ape; + } + + public function setApe(?string $ape): static + { + $this->ape = $ape; + + return $this; + } + public function getStripeCustomerId(): ?string { return $this->stripeCustomerId; diff --git a/templates/admin/clients/create.html.twig b/templates/admin/clients/create.html.twig index 800a346..7e028ca 100644 --- a/templates/admin/clients/create.html.twig +++ b/templates/admin/clients/create.html.twig @@ -98,6 +98,11 @@ +
+ + +