getReference($permissionsGroupRef, PermissionsGroup::class); printf("processing permission group %s \n", $permissionsGroup->getName()); foreach (LoadScopes::$references as $scopeRef) { $scope = $this->getReference($scopeRef, Scope::class); printf("processing scope %s \n", $scope->getName()['en']); // create permission group switch ($permissionsGroup->getName()) { case 'social': if ('administrative' === $scope->getName()['en']) { 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(); } }