getReference($permissionsGroupRef); $scopeSocial = $this->getReference('scope_social'); // create permission group switch ($permissionsGroup->getName()) { case 'social': case 'direction': $permissionsGroup->addRoleScope( (new RoleScope()) ->setRole(AccompanyingPeriodVoter::FULL) ->setScope($scopeSocial) ); $roleScopeUpdate = (new RoleScope()) ->setRole('CHILL_PERSON_UPDATE') ->setScope(null); $permissionsGroup->addRoleScope($roleScopeUpdate); $roleScopeCreate = (new RoleScope()) ->setRole('CHILL_PERSON_CREATE') ->setScope(null); $permissionsGroup->addRoleScope($roleScopeCreate); $roleScopeDuplicate = (new RoleScope()) ->setRole('CHILL_PERSON_DUPLICATE') ->setScope(null); $permissionsGroup->addRoleScope($roleScopeDuplicate); $roleScopeList = (new RoleScope()) ->setRole(PersonVoter::LISTS) ->setScope(null); $permissionsGroup->addRoleScope($roleScopeList); $roleScopeStats = (new RoleScope()) ->setRole(PersonVoter::STATS) ->setScope(null); $permissionsGroup->addRoleScope($roleScopeStats); $manager->persist($roleScopeUpdate); $manager->persist($roleScopeCreate); $manager->persist($roleScopeDuplicate); break; case 'administrative': $roleScopeSee = (new RoleScope()) ->setRole('CHILL_PERSON_SEE') ->setScope(null); $permissionsGroup->addRoleScope($roleScopeSee); $manager->persist($roleScopeSee); break; } } $manager->flush(); } }