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_EVENT_UPDATE & CHILL_EVENT_CREATE ' . '& CHILL_EVENT_PARTICIPATION_UPDATE & CHILL_EVENT_PARTICIPATION_CREATE ' . '& CHILL_EVENT_SEE & CHILL_EVENT_SEE_DETAILS ' . 'to %s ' . "permission group, scope '%s' \n", $permissionsGroup->getName(), $scope->getName()['en'] ); $roleScopeUpdate = (new RoleScope()) ->setRole('CHILL_EVENT_UPDATE') ->setScope($scope); $roleScopeUpdate2 = (new RoleScope()) ->setRole('CHILL_EVENT_PARTICIPATION_UPDATE') ->setScope($scope); $permissionsGroup->addRoleScope($roleScopeUpdate); $permissionsGroup->addRoleScope($roleScopeUpdate2); $roleScopeCreate = (new RoleScope()) ->setRole('CHILL_EVENT_CREATE') ->setScope($scope); $roleScopeCreate2 = (new RoleScope()) ->setRole('CHILL_EVENT_PARTICIPATION_CREATE') ->setScope($scope); $permissionsGroup->addRoleScope($roleScopeCreate); $permissionsGroup->addRoleScope($roleScopeCreate2); $roleScopeSee = (new RoleScope()) ->setRole('CHILL_EVENT_SEE') ->setScope($scope); $roleScopeSee2 = (new RoleScope()) ->setRole('CHILL_EVENT_SEE_DETAILS') ->setScope($scope); $permissionsGroup->addRoleScope($roleScopeSee); $permissionsGroup->addRoleScope($roleScopeSee2); $manager->persist($roleScopeUpdate); $manager->persist($roleScopeUpdate2); $manager->persist($roleScopeCreate); $manager->persist($roleScopeCreate2); $manager->persist($roleScopeSee); $manager->persist($roleScopeSee2); } } $manager->flush(); } }