feat(catalog) : M6 — page liste produits /admin/products (ERP-204) #156

Open
tristan wants to merge 1 commits from feat/erp-204-products-list-front into develop
Owner

ERP-204 (1.8) — Page liste /admin/products

Ecran d'entree du catalogue produit (admin-only) : liste paginee + filtre + export. Miroir des pages /admin/categories et /carriers.

Contenu

  • Route /admin/products (shell admin) ; boutons Filtrer/Exporter gates sur catalog.products.view, « + Ajouter » sur catalog.products.manage.
  • MalioDataTable + usePaginatedList<Product>({ url: '/products' }) — colonnes Nom / Numero (code) / Categorie (category.name), tri name ASC serveur.
  • Clic ligne/admin/products/{id}/edit ; + Ajouter/admin/products/new.
  • ExporterGET /api/products/export.xlsx via useApi() (blob).
  • Drawer de filtres (pattern brouillon/applique M1→M5) : recherche, categorie (?categoryId), etat (?state), sites multi (?siteId[]). Referentiels charges en ?pagination=false, resilient (Promise.allSettled).
  • Type Product calque sur le contrat JSON capture en ERP-203 (spec-back § 4.0.bis).
  • i18n admin.products.

Garde-fous

  • useApi() partout ; etat du tableau 100 % local (jamais dans l'URL) ; 4 espaces ; commentaires FR ; libelles i18n.

Verifications

  • make nuxt-test : 685 tests OK (dont 11 nouveaux).
  • eslint clean.
  • ⚠️ Golden path navigateur non lance (necessite dev-nuxt + navigateur). Les routes /new et /{id}/edit sont des tickets separes (pas encore creees).
## ERP-204 (1.8) — Page liste `/admin/products` Ecran d'entree du catalogue produit (**admin-only**) : liste paginee + filtre + export. Miroir des pages `/admin/categories` et `/carriers`. ### Contenu - **Route** `/admin/products` (shell admin) ; boutons Filtrer/Exporter gates sur `catalog.products.view`, « + Ajouter » sur `catalog.products.manage`. - **`MalioDataTable` + `usePaginatedList<Product>({ url: '/products' })`** — colonnes **Nom** / **Numero** (`code`) / **Categorie** (`category.name`), tri `name ASC` serveur. - **Clic ligne** → `/admin/products/{id}/edit` ; **+ Ajouter** → `/admin/products/new`. - **Exporter** → `GET /api/products/export.xlsx` via `useApi()` (blob). - **Drawer de filtres** (pattern brouillon/applique M1→M5) : recherche, categorie (`?categoryId`), etat (`?state`), sites multi (`?siteId[]`). Referentiels charges en `?pagination=false`, resilient (`Promise.allSettled`). - Type `Product` calque sur le contrat JSON capture en ERP-203 (spec-back § 4.0.bis). - i18n `admin.products`. ### Garde-fous - `useApi()` partout ; etat du tableau **100 % local** (jamais dans l'URL) ; 4 espaces ; commentaires FR ; libelles i18n. ### Verifications - ✅ `make nuxt-test` : 685 tests OK (dont 11 nouveaux). - ✅ eslint clean. - ⚠️ Golden path navigateur non lance (necessite dev-nuxt + navigateur). Les routes `/new` et `/{id}/edit` sont des tickets separes (pas encore creees).
tristan added the type/featfrontM6-Produit labels 2026-06-25 15:40:18 +00:00
tristan added 1 commit 2026-06-25 15:40:19 +00:00
feat(catalog) : M6 — page liste produits /admin/products (ERP-204)
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m59s
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 5m35s
f12a378126
Ecran d'entree du catalogue produit (admin-only) : liste paginee
(usePaginatedList), drawer de filtres (categorie/etat/sites), export
XLSX et navigation vers creation/edition.

- colonnes Nom / Numero (code) / Categorie (category.name), tri name ASC serveur
- filtres mappes sur les query params du provider (categoryId, state, siteId[])
- etat du tableau 100% local (jamais dans l'URL)
- type Product calque sur le contrat JSON capture (ERP-203)
- i18n admin.products ; 11 tests Vitest
Some checks are pending
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m59s
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 5m35s
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-204-products-list-front:feat/erp-204-products-list-front
git checkout feat/erp-204-products-list-front
Sign in to join this conversation.