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
|
public function load(ObjectManager $manager): void
|
||||||
{
|
{
|
||||||
$adminRole = $this->ensureSystemRole($manager, SystemRoles::ADMIN_CODE, 'Administrateur');
|
$adminRole = $this->ensureSystemRole(
|
||||||
$userRole = $this->ensureSystemRole($manager, SystemRoles::USER_CODE, 'Utilisateur');
|
$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 = new User();
|
||||||
$admin->setUsername('admin');
|
$admin->setUsername('admin');
|
||||||
@@ -58,16 +68,24 @@ class AppFixtures extends Fixture
|
|||||||
/**
|
/**
|
||||||
* Retourne le role systeme correspondant au code donne, en le creant
|
* 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).
|
* 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);
|
$role = $this->roleRepository->findByCode($code);
|
||||||
|
|
||||||
if (null !== $role) {
|
if (null !== $role) {
|
||||||
return $role;
|
return $role;
|
||||||
}
|
}
|
||||||
|
|
||||||
$role = new Role($code, $label, isSystem: true);
|
$role = new Role($code, $label, isSystem: true, description: $description);
|
||||||
$manager->persist($role);
|
$manager->persist($role);
|
||||||
|
|
||||||
return $role;
|
return $role;
|
||||||
|
|||||||
Reference in New Issue
Block a user