feat(technique) : câbler le RBAC technique.providers.* (3 sources + matrice rôles + bypass_scope) (ERP-138)
Câble les permissions du module Technique dans toutes les sources RBAC (règle ABSOLUE n°8, dans le même commit) : - RbacSeeder::MATRIX : bureau/compta/commerciale reçoivent technique.providers.* selon la matrice § 2.9 + sites.bypass_scope (visibilité multi-site, § 2.13) ; usine = technique.providers.view seul, SANS bypass (cloisonnée à son site). - config/sidebar.php : nouvelle section Technique + item Répertoire prestataires (/providers, module technique, permission technique.providers.view). - personas.ts + SeedE2ECommand.php : 5 perms technique.providers.* sur le persona user-full (porte déjà sites.bypass_scope) — pas de nouveau persona (règle n°7). - i18n fr.json : clés sidebar.technique.section / sidebar.technique.providers. Test : ProviderRBACMatrixTest (miroir SupplierRBACMatrixTest) valide la matrice rôle×verbe via app:seed-rbac, dont le cloisonnement par site de l'Usine (détail hors site → 404). 8 tests, 65 assertions.
This commit is contained in:
@@ -30,6 +30,10 @@
|
||||
"clients": "Répertoire clients",
|
||||
"suppliers": "Répertoire fournisseurs"
|
||||
},
|
||||
"technique": {
|
||||
"section": "Technique",
|
||||
"providers": "Répertoire prestataires"
|
||||
},
|
||||
"core": {
|
||||
"roles": "Gestion des rôles",
|
||||
"users": "Utilisateurs",
|
||||
|
||||
@@ -84,6 +84,17 @@ export const personas: Record<PersonaKey, Persona> = {
|
||||
'commercial.suppliers.accounting.view',
|
||||
'commercial.suppliers.accounting.manage',
|
||||
'commercial.suppliers.archive',
|
||||
// Technique — Repertoire prestataires (M3, ERP-138). Meme logique que
|
||||
// clients/fournisseurs : mappe sur le persona "tout", pas de nouveau
|
||||
// persona (regle ABSOLUE n°7). user-full porte deja sites.bypass_scope,
|
||||
// donc il voit les prestataires de tous les sites (M3 § 2.13).
|
||||
// technique.providers.view n'ajoute pas de lien dans la section
|
||||
// Administration, donc expectedAdminLinks reste inchange.
|
||||
'technique.providers.view',
|
||||
'technique.providers.manage',
|
||||
'technique.providers.accounting.view',
|
||||
'technique.providers.accounting.manage',
|
||||
'technique.providers.archive',
|
||||
],
|
||||
expectedAdminLinks: ['users', 'roles', 'sites', 'categories', 'audit-log'],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user