feat(front) : page Modification fournisseur (/suppliers/{id}/edit) (ERP-96) #85
Reference in New Issue
Block a user
Delete Branch "feature/ERP-96-suppliers-edit"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ERP-96 — Modification fournisseur
Étape 7/7 (front). Dépend de #94 (Ajouter) + #95 (Consultation).
Périmètre
/suppliers/{id}/edit: champs pré-remplis depuis GET /suppliers/{id}, PATCH partiel indépendant par onglet. Bloc principal conservé (éditable via son propre PATCHsupplier:write:main), pas de contact inline (ERP-106).supplierEdit).resolveTabEditability) : métier readonly sansmanage; Comptabilité visible/éditable selonaccounting.view/accounting.manage; placeholders non éditables.propertyPath→useSupplierFormErrors/extractApiViolations), jamais un toast fourre-tout (ERP-101).Tests
supplierEdit.spec.tsenrichi (mappers d'hydratationmapMainDraft/mapInformationDraftavecvolumeForecast/mapAccountingFormDraft+resolveTabEditabilitymatrice § 2.7).make nuxt-test→ 375/375 ✅. ESLint ✅.nuxi typechecknon lancé sur l'hôte (casse le conteneur dev-nuxt).Miroir de l'écran Modification client (M1), adapté M2 (enum
addressType,bennes/triageProvider/volumeForecast, pas de relation Distributeur/Courtier).- useSupplier(id) : GET /api/suppliers/{id} en Hydra (embed contacts/adresses/ribs + scalaires compta si accounting.view), archive()/restore() via PATCH isArchived seul - supplierConsultation : mappers purs de l'embed (addressType, bennes, triageProvider, volumeForecast ; gating compta par omission de cle), helpers de permissions - page [id]/index.vue : lecture seule, bloc principal + onglets (Information/Contacts/ Adresses/Comptabilite selon permission/4 coquilles A venir), Modifier/Archiver/Restaurer, fleche retour repertoire ; miroir de l'ecran Consultation client (M1) - tests Vitest : supplierConsultation (mappers + permissions) + useSupplier (GET/PATCH)- page edit.vue : champs pre-remplis depuis GET /suppliers/{id}, PATCH partiel INDEPENDANT par onglet (mode strict RG-2.16 : un seul groupe de serialisation par appel), pas de formulaire principal masque mais editable via son propre PATCH - pas de contact inline (ERP-106) ; onglets metier readonly sans manage, Comptabilite visible/editable selon accounting.view / accounting.manage (resolveTabEditability) - collections contacts/adresses/RIB : POST/PATCH par ligne + DELETE differe des retraits ; erreurs 422 mappees inline par champ (propertyPath) via useSupplierFormErrors - supplierEdit : mappers d'hydratation (mapMainDraft/mapInformationDraft/ mapAccountingFormDraft, + volumeForecast) et resolveTabEditability - tests Vitest : mappers d'hydratation + gating par role (matrice 2.7) - miroir de l'ecran Modification client (M1), adapte M2 (addressType/bennes/ triageProvider/volumeForecast, pas de relation Distributeur/Courtier)