fix(front) : champ adresse vide apres validation + libelle departement des sites
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 1m51s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m21s

- ClientAddressBlock : la rue courante est toujours reinjectee dans les
  options de MalioInputAutocomplete (computed, miroir de cityOptions).
  Sinon, des que la liste de suggestions BAN est vide (remontage apres
  validation, edition d'une adresse existante), le composant ne resolvait
  plus la valeur liee et affichait un champ vide alors que la donnee etait
  bien persistee. Test de montage ajoute.
- useClientReferentials : le libelle des sites = numero de departement
  (2 premiers chiffres du code postal, deja expose par /sites) au lieu du
  nom.
This commit is contained in:
2026-06-03 13:53:26 +02:00
parent 8376236a3c
commit f4313d1f3d
3 changed files with 98 additions and 3 deletions
@@ -45,6 +45,7 @@ interface CategoryMember extends HydraMember {
interface SiteMember extends HydraMember {
name: string
postalCode: string
}
interface ReferentialMember extends HydraMember {
@@ -101,7 +102,10 @@ export function useClientReferentials() {
fetchAll<CategoryMember>('/categories')
.then((cats) => { categories.value = cats.map(c => ({ value: c['@id'], label: c.name, code: c.code })) }),
fetchAll<SiteMember>('/sites')
.then((sitesList) => { sites.value = sitesList.map(s => ({ value: s['@id'], label: s.name })) }),
// Libelle = numero de departement (2 premiers chiffres du code
// postal du site), ex: 86100 -> « 86 ». Le code postal est deja
// expose par /sites (groupe site:read) — aucune colonne a ajouter.
.then((sitesList) => { sites.value = sitesList.map(s => ({ value: s['@id'], label: (s.postalCode ?? '').slice(0, 2) })) }),
fetchAll<ReferentialMember>('/tva_modes')
.then((tva) => { tvaModes.value = tva.map(t => ({ value: t['@id'], label: t.label })) }),
fetchAll<ReferentialMember>('/payment_delays')