feat(catalog) : M7 — page liste des stockages /admin/storages (ERP-216)
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 55s
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m54s

- Page /admin/storages (MalioDataTable + usePaginatedList), colonnes Nom (displayName, RG-7.05) et Site, gate catalog.storages.view
- Bouton Ajouter (catalog.storages.manage) → /admin/storages/new, clic ligne → /admin/storages/{id}/edit
- Export XLSX via useApi() et drawer de filtres (search, type, état, sites), état 100 % local
- Type Storage, libellés i18n, item sidebar « Catalogue stockages » sous Catalogue produits
- Tests Vitest de la page (mapping colonnes, gates, navigation, export, filtres)
This commit is contained in:
2026-06-30 10:45:00 +02:00
parent 444d118e4f
commit fd6b7e4c79
5 changed files with 747 additions and 11 deletions
+10 -10
View File
@@ -144,6 +144,16 @@ return [
'module' => 'catalog',
'permission' => 'catalog.products.view',
],
// Stockage (M7, ERP-210). Admin-only : gate par `catalog.storages.view`
// et son module owner `catalog`. Reutilise le referentiel StorageType
// du M6. Place juste sous le Catalogue produits (items Catalog groupes).
[
'label' => 'sidebar.catalog.storages',
'to' => '/admin/storages',
'icon' => 'mdi:warehouse',
'module' => 'catalog',
'permission' => 'catalog.storages.view',
],
[
'label' => 'sidebar.core.roles',
'to' => '/admin/roles',
@@ -172,16 +182,6 @@ return [
'module' => 'catalog',
'permission' => 'catalog.categories.view',
],
// Stockage (M7, ERP-210). Admin-only : gate par `catalog.storages.view`
// et son module owner `catalog`. Reutilise le referentiel StorageType
// du M6. Place pres des autres items Catalog (produits, categories).
[
'label' => 'sidebar.catalog.storages',
'to' => '/admin/storages',
'icon' => 'mdi:warehouse',
'module' => 'catalog',
'permission' => 'catalog.storages.view',
],
[
'label' => 'sidebar.core.audit_log',
'to' => '/admin/audit-log',