feat(logistique) : scaffold module + socle RBAC tickets de pesée (ERP-181)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m23s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m49s

Nouveau module Logistique (M5), sans entité ni migration (ticket 1.2) :
- LogistiqueModule (ID logistique, permissions weighing_tickets.view/manage)
  enregistré dans config/modules.php
- layer front frontend/modules/logistique (auto-détecté)
- sidebar : section Logistique + item /weighing-tickets (gate ...view)
  + clés i18n sidebar.logistique.*
- 3 miroirs RBAC alignés : sidebar.php, personas.ts (user-full),
  SeedE2ECommand (user-full)
- matrice métier RbacSeeder : Bureau + Usine = view/manage ;
  Compta + Commerciale = aucun accès (spec § 5.2)
This commit is contained in:
Matthieu
2026-06-17 15:58:27 +02:00
parent 726be37ccf
commit 864bc7e8e8
8 changed files with 77 additions and 1 deletions
+18
View File
@@ -95,6 +95,24 @@ return [
],
],
],
// Section "Logistique" (M5, ERP-181) : nouveau pole "operations physiques sur
// site", distinct du repertoire Transport (M4). Porte le ticket de pesee au
// pont bascule. L'item est gate par `logistique.weighing_tickets.view` ; la
// section disparait automatiquement (SidebarProvider) si le module `logistique`
// est desactive ou si l'user n'a pas la permission (Compta / Commerciale).
[
'label' => 'sidebar.logistique.section',
'icon' => 'mdi:scale',
'items' => [
[
'label' => 'sidebar.logistique.weighing_tickets',
'to' => '/weighing-tickets',
'icon' => 'mdi:scale',
'module' => 'logistique',
'permission' => 'logistique.weighing_tickets.view',
],
],
],
// Section "Administration" : regroupe toutes les pages de configuration
// applicative (RBAC, users, sites, audit log).
//