getReference($permissionsGroupRef); printf("processing permission group %s \n", $permissionsGroup->getName()); foreach (LoadScopes::$references as $scopeRef) { $scope = $this->getReference($scopeRef); printf("processing scope %s \n", $scope->getName()['en']); //create permission group switch ($permissionsGroup->getName()) { case 'social': if ($scope->getName()['en'] === 'administrative') { printf("denying power on administrative \n"); break 2; // we do not want any power on administrative } break; case 'administrative': case 'direction': if (in_array($scope->getName()['en'], ['administrative', 'social'], true)) { printf("denying power on %s\n", $scope->getName()['en']); break 2; // we do not want any power on social or administrative } break; } printf( 'Adding CHILL_REPORT_UPDATE & CHILL_REPORT_CREATE to %s ' . "permission group, scope '%s' \n", $permissionsGroup->getName(), $scope->getName()['en'] ); $roleScopeUpdate = (new RoleScope()) ->setRole('CHILL_REPORT_UPDATE') ->setScope($scope); $permissionsGroup->addRoleScope($roleScopeUpdate); $roleScopeCreate = (new RoleScope()) ->setRole('CHILL_REPORT_CREATE') ->setScope($scope); $permissionsGroup->addRoleScope($roleScopeCreate); $manager->persist($roleScopeUpdate); $manager->persist($roleScopeCreate); } } $manager->flush(); } }