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 @@
+
+
+
+