getReference($permissionsGroupRef); foreach (LoadScopes::$references as $scopeRef) { $scope = $this->getReference($scopeRef); //create permission group switch ($permissionsGroup->getName()) { case 'social': if ($scope->getName()['en'] === 'administrative') { break 2; // we do not want any power on administrative } break; case 'administrative': case 'direction': if (in_array($scope->getName()['en'], ['administrative', 'social'], true)) { break 2; // we do not want any power on social or administrative } break; } printf( 'Adding CHILL_ACTIVITY_UPDATE & CHILL_ACTIVITY_CREATE & CHILL_ACTIVITY_DELETE, and stats and list permissions to %s ' . "permission group, scope '%s' \n", $permissionsGroup->getName(), $scope->getName()['en'] ); $roleScopeUpdate = (new RoleScope()) ->setRole('CHILL_ACTIVITY_UPDATE') ->setScope($scope); $permissionsGroup->addRoleScope($roleScopeUpdate); $roleScopeCreate = (new RoleScope()) ->setRole(ActivityVoter::CREATE_ACCOMPANYING_COURSE) ->setScope($scope); $roleScopeCreate = (new RoleScope()) ->setRole(ActivityVoter::CREATE_PERSON) ->setScope($scope); $permissionsGroup->addRoleScope($roleScopeCreate); $roleScopeDelete = (new RoleScope()) ->setRole('CHILL_ACTIVITY_DELETE') ->setScope($scope); $permissionsGroup->addRoleScope($roleScopeDelete); $roleScopeList = (new RoleScope()) ->setRole(ActivityStatsVoter::LISTS); $permissionsGroup->addRoleScope($roleScopeList); $roleScopeStat = (new RoleScope()) ->setRole(ActivityStatsVoter::STATS); $permissionsGroup->addRoleScope($roleScopeStat); $manager->persist($roleScopeUpdate); $manager->persist($roleScopeCreate); $manager->persist($roleScopeDelete); } } $manager->flush(); } }