fix(front) : meme correctif champ requis vide en edition client (M1)

Port du fix fournisseur (blankEmptyRequired + flag forUpdate) a l'edition client :
en PATCH d'une ligne existante, un champ requis vide (companyName / postalCode /
city / street / label / bic / iban) est envoye en '' au lieu d'etre omis, sinon le
merge-patch garde l'ancienne valeur (faux 200). Creation (POST) inchangee (omit).
This commit is contained in:
2026-06-11 08:36:54 +02:00
parent 8eff37186d
commit 1f22fd142a
4 changed files with 101 additions and 14 deletions
@@ -689,7 +689,7 @@ async function submitMain(): Promise<void> {
mainSubmitting.value = true
mainErrors.clearErrors()
try {
const updated = await api.patch<ClientDetail>(`/clients/${clientId}`, buildMainPayload(main), {
const updated = await api.patch<ClientDetail>(`/clients/${clientId}`, buildMainPayload(main, { forUpdate: true }), {
headers: { Accept: 'application/ld+json' },
toast: false,
})
@@ -859,7 +859,10 @@ async function submitAddresses(): Promise<void> {
addresses.value,
addressErrors,
async (address) => {
const body = buildAddressPayload(address, isBillingEmailRequired(address))
// Edition d'une adresse existante : champ requis vide envoye en `''`
// (NotBlank 422) au lieu d'etre omis — sinon le PATCH garderait
// l'ancienne valeur (faux 200). Creation (id null) : omit classique.
const body = buildAddressPayload(address, isBillingEmailRequired(address), { forUpdate: address.id !== null })
if (address.id === null) {
const created = await api.post<{ id: number }>(
`/clients/${clientId}/addresses`,
@@ -956,7 +959,9 @@ async function submitAccounting(): Promise<void> {
ribs.value,
ribErrors,
async (rib) => {
const body = buildRibPayload(rib)
// Edition d'un RIB existant : champ requis vide envoye en `''` (NotBlank
// 422) au lieu d'etre omis (sinon le PATCH garderait l'ancienne valeur).
const body = buildRibPayload(rib, { forUpdate: rib.id !== null })
if (rib.id === null) {
const created = await api.post<{ id: number }>(
`/clients/${clientId}/ribs`,