feat(catalog) : M7 — écran Modification d'un stockage /admin/storages/{id}/edit (ERP-218) #170

Open
tristan wants to merge 1 commits from feat/erp-218-storage-edit-form into feat/erp-217-storage-create-form
Owner

Écran de modification d'un stockage (admin-only), empilé sur ERP-217 (#169) — base = feat/erp-217-storage-create-form.

Contenu

  • Route /admin/storages/{id}/edit, gate catalog.storages.manage (redirection liste sinon).
  • Détail chargé via useStorage(id) (GET /api/storages/{id}, Hydra pour les IRI des relations).
  • Formulaire factorisé create/edit dans useStorageForm : prefill(storage) mappe la sélection (site/type en IRI, numéro, états) ; submit() bascule en PATCH /api/storages/{id} quand storageId est défini (RG-7.08).
  • Bouton « Enregistrer » ; mêmes champs/validations que l'ajout (RG-7.01→7.06), erreurs 422 inline par champ via useFormErrors.
  • RG-7.01 : 409 doublon (le back exclut le stockage courant) → erreur inline sous Numéro + toast.
  • Au succès : retour à la liste (/admin/storages).
  • Pas d'onglets (HP-M7-06). Référentiel des types plat (pas de cascade Site→Type, cf. décision ERP-217).

Fichiers

  • frontend/modules/catalog/composables/useStorageForm.ts (+ storageId, prefill, branche PATCH)
  • frontend/modules/catalog/composables/useStorage.ts (nouveau)
  • frontend/modules/catalog/pages/admin/storages/[id]/edit.vue (nouveau)
  • frontend/modules/catalog/composables/__tests__/useStorageForm.spec.ts (+3 tests édition)
  • frontend/i18n/locales/fr.json (admin.storages.edit.* + toast.updateSuccess)

Vérifications

  • make nuxt-test : 746 tests
  • Suite back PHPUnit (hook pre-commit) : 940 tests
Écran de modification d'un stockage (admin-only), **empilé sur ERP-217 (#169)** — base = `feat/erp-217-storage-create-form`. ## Contenu - Route `/admin/storages/{id}/edit`, gate `catalog.storages.manage` (redirection liste sinon). - Détail chargé via `useStorage(id)` (`GET /api/storages/{id}`, Hydra pour les IRI des relations). - **Formulaire factorisé create/edit** dans `useStorageForm` : `prefill(storage)` mappe la sélection (site/type en IRI, numéro, états) ; `submit()` bascule en `PATCH /api/storages/{id}` quand `storageId` est défini (RG-7.08). - Bouton **« Enregistrer »** ; mêmes champs/validations que l'ajout (RG-7.01→7.06), erreurs 422 inline par champ via `useFormErrors`. - **RG-7.01** : 409 doublon (le back exclut le stockage courant) → erreur inline sous **Numéro** + toast. - Au succès : retour à la liste (`/admin/storages`). - Pas d'onglets (HP-M7-06). Référentiel des types plat (pas de cascade Site→Type, cf. décision ERP-217). ## Fichiers - `frontend/modules/catalog/composables/useStorageForm.ts` (+ `storageId`, `prefill`, branche PATCH) - `frontend/modules/catalog/composables/useStorage.ts` (nouveau) - `frontend/modules/catalog/pages/admin/storages/[id]/edit.vue` (nouveau) - `frontend/modules/catalog/composables/__tests__/useStorageForm.spec.ts` (+3 tests édition) - `frontend/i18n/locales/fr.json` (`admin.storages.edit.*` + `toast.updateSuccess`) ## Vérifications - `make nuxt-test` : ✅ 746 tests - Suite back PHPUnit (hook pre-commit) : ✅ 940 tests
tristan added the type/featfrontM7-Stockage labels 2026-06-30 09:59:44 +00:00
tristan added 1 commit 2026-06-30 09:59:44 +00:00
- Route /admin/storages/{id}/edit, gate catalog.storages.manage, détail via useStorage (GET /api/storages/{id})
- Formulaire factorisé create/edit dans useStorageForm : prefill + bouton « Enregistrer » → PATCH /api/storages/{id} (RG-7.08)
- Mêmes champs/validations que l'ajout (RG-7.01→7.06), erreurs 422 inline par champ
- 409 doublon (site, type, numéro, exclut le courant côté back) → inline sous Numéro + toast
- Pas d'onglets (HP-M7-06) ; libellés i18n edit.* + toast.updateSuccess
- Tests Vitest useStorageForm mode édition (prefill + PATCH + 409)
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/erp-218-storage-edit-form:feat/erp-218-storage-edit-form
git checkout feat/erp-218-storage-edit-form
Sign in to join this conversation.