feat(catalog) : M6 — écran Modification produit + onglets placeholder (ERP-206) #158

Open
tristan wants to merge 1 commits from feat/erp-206-product-edit-placeholder-tabs into feat/erp-205-product-create-form
Owner

ERP-206 (1.10) — Écran Modification + onglets placeholder (Fournisseurs/Clients)

⚠️ MR empilée sur feat/erp-205-product-create-form (ERP-205), elle-même sur ERP-204. À merger dans l'ordre 204 → 205 → 206.

Écran de modification (= ajout pré-rempli, bouton « Enregistrer ») + pose des onglets Fournisseurs/Clients en placeholder « en cours de développement ».

Contenu

  • Route /admin/products/{id}/edit : useProduct(id) charge le détail (GET /products/{id}, états loading/introuvable), prefill() pré-remplit le formulaire principal (mêmes champs/règles que l'ajout, RG-6.01→6.07).
  • RG-6.08 : useProductForm() réutilisé en mode édition (productId non nul) → bouton « Enregistrer » → PATCH /products/{id} (merge-patch via useApi). Unicité du code re-validée serveur (409 mappé inline).
  • Onglets Fournisseurs + Clients : composant partagé ComingSoonPlaceholder via ProductPlaceholderTabsaucun appel API, aucun champ (HP-M6-01 / RG-6.10). Logique fournisseurs/clients (contrats, triage, TAF) non implémentée (hors périmètre V0).
  • Mêmes onglets placeholder posés sur l'écran Ajouter (cohérence), affichés sans condition d'état.
  • Sous-types embarqués du produit enrichis de @id (IRI) pour pré-sélectionner les selects.

Garde-fous

  • useApi() only ; 4 espaces ; commentaires FR. Code non bloqué techniquement, unicité serveur (RG-6.01).

Vérifications

  • make nuxt-test : 707 tests OK (dont 11 nouveaux — useProductForm prefill + PATCH + 409 édition ; page edit : chargement/prefill, gating, submit→redirect, placeholder rendu sans API).
  • eslint clean.
  • ⚠️ Golden path navigateur non lancé (nécessite dev-nuxt + navigateur).
## ERP-206 (1.10) — Écran Modification + onglets placeholder (Fournisseurs/Clients) > ⚠️ **MR empilée** sur `feat/erp-205-product-create-form` (ERP-205), elle-même sur ERP-204. À merger **dans l'ordre** 204 → 205 → 206. Écran de modification (= ajout pré-rempli, bouton « Enregistrer ») + pose des onglets Fournisseurs/Clients en **placeholder « en cours de développement »**. ### Contenu - **Route `/admin/products/{id}/edit`** : `useProduct(id)` charge le détail (`GET /products/{id}`, états loading/introuvable), `prefill()` pré-remplit le formulaire principal (mêmes champs/règles que l'ajout, RG-6.01→6.07). - **RG-6.08** : `useProductForm()` réutilisé en **mode édition** (`productId` non nul) → bouton « **Enregistrer** » → `PATCH /products/{id}` (merge-patch via `useApi`). Unicité du `code` re-validée serveur (**409** mappé inline). - **Onglets Fournisseurs + Clients** : composant partagé `ComingSoonPlaceholder` via `ProductPlaceholderTabs` — **aucun appel API, aucun champ** (HP-M6-01 / RG-6.10). Logique fournisseurs/clients (contrats, triage, TAF) **non implémentée** (hors périmètre V0). - Mêmes onglets placeholder posés sur l'**écran Ajouter** (cohérence), affichés sans condition d'état. - Sous-types embarqués du produit enrichis de `@id` (IRI) pour pré-sélectionner les selects. ### Garde-fous - `useApi()` only ; 4 espaces ; commentaires FR. Code non bloqué techniquement, unicité serveur (RG-6.01). ### Vérifications - ✅ `make nuxt-test` : 707 tests OK (dont 11 nouveaux — `useProductForm` prefill + PATCH + 409 édition ; page edit : chargement/prefill, gating, submit→redirect, placeholder rendu sans API). - ✅ eslint clean. - ⚠️ Golden path navigateur non lancé (nécessite dev-nuxt + navigateur).
tristan added the type/featfrontM6-Produit labels 2026-06-25 16:01:54 +00:00
tristan added 1 commit 2026-06-25 16:01:54 +00:00
Écran de modification (ajout pré-rempli, bouton « Enregistrer ») et pose des
onglets Fournisseurs/Clients en placeholder « en cours de développement ».

- route /admin/products/{id}/edit : useProduct(id) charge le détail, prefill du formulaire principal
- RG-6.08 : useProductForm en mode édition → PATCH /products/{id} (merge-patch), bouton « Enregistrer »
- unicité du code re-validée serveur en édition (409 doublon mappé inline)
- onglets Fournisseurs + Clients : ComingSoonPlaceholder, aucun appel API ni champ (HP-M6-01 / RG-6.10)
- mêmes onglets placeholder posés sur l'écran Ajouter (cohérence)
- i18n admin.products.edit / tab ; 11 tests Vitest (prefill + PATCH + placeholder)
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-206-product-edit-placeholder-tabs:feat/erp-206-product-edit-placeholder-tabs
git checkout feat/erp-206-product-edit-placeholder-tabs
Sign in to join this conversation.