fix(core) : RBAC Task 6 polish - descriptions des roles systeme coherentes
ensureSystemRole() recopie desormais la description depuis la migration RBAC pour que les chemins prod (migration) et dev (fixtures) produisent un etat identique. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -30,8 +30,18 @@ class AppFixtures extends Fixture
|
||||
|
||||
public function load(ObjectManager $manager): void
|
||||
{
|
||||
$adminRole = $this->ensureSystemRole($manager, SystemRoles::ADMIN_CODE, 'Administrateur');
|
||||
$userRole = $this->ensureSystemRole($manager, SystemRoles::USER_CODE, 'Utilisateur');
|
||||
$adminRole = $this->ensureSystemRole(
|
||||
$manager,
|
||||
SystemRoles::ADMIN_CODE,
|
||||
'Administrateur',
|
||||
'Role administrateur - bypass complet via is_admin',
|
||||
);
|
||||
$userRole = $this->ensureSystemRole(
|
||||
$manager,
|
||||
SystemRoles::USER_CODE,
|
||||
'Utilisateur',
|
||||
'Role de base sans permission specifique',
|
||||
);
|
||||
|
||||
$admin = new User();
|
||||
$admin->setUsername('admin');
|
||||
@@ -58,16 +68,24 @@ class AppFixtures extends Fixture
|
||||
/**
|
||||
* Retourne le role systeme correspondant au code donne, en le creant
|
||||
* s'il n'existe pas encore (le purger Doctrine a pu vider la table role).
|
||||
*
|
||||
* La description est recopiee depuis la migration RBAC pour que les
|
||||
* deux chemins (migration prod, fixtures dev) produisent un etat
|
||||
* identique.
|
||||
*/
|
||||
private function ensureSystemRole(ObjectManager $manager, string $code, string $label): Role
|
||||
{
|
||||
private function ensureSystemRole(
|
||||
ObjectManager $manager,
|
||||
string $code,
|
||||
string $label,
|
||||
string $description,
|
||||
): Role {
|
||||
$role = $this->roleRepository->findByCode($code);
|
||||
|
||||
if (null !== $role) {
|
||||
return $role;
|
||||
}
|
||||
|
||||
$role = new Role($code, $label, isSystem: true);
|
||||
$role = new Role($code, $label, isSystem: true, description: $description);
|
||||
$manager->persist($role);
|
||||
|
||||
return $role;
|
||||
|
||||
Reference in New Issue
Block a user