public function getOptions()
 {
     $being = $this->property->being;
     if ($being == "array") {
         $selected = $this->property->getValue();
         $policy = $this->configurationManager->getConfiguration(\TYPO3\FLOW3\Configuration\ConfigurationManager::CONFIGURATION_TYPE_POLICY);
         $options = array();
         foreach ($policy["roles"] as $key => $value) {
             $options[] = new \Admin\Core\Option($key, $key, $this->isSelected($key));
         }
         return $options;
     } else {
         $groups = $this->helper->getGroups();
         $actions = $this->getActions();
         foreach ($groups as $group => $beings) {
             foreach ($beings["beings"] as $being => $conf) {
                 foreach ($actions as $action => $label) {
                     $label = str_replace("@being", $conf["name"], $label);
                     $name = $group . " | " . $conf["name"] . " | " . $label;
                     $this->createOrUpdate($name, $action, $being);
                 }
             }
         }
         $this->persistenceManager->persistAll();
         return parent::getOptions();
     }
 }
 /**
  * @test
  */
 public function feedActionWithoutParametersRendersFeed()
 {
     $this->createTestData();
     $this->persistenceManager->persistAll();
     $this->persistenceManager->clearState();
     $result = $this->sendWebRequest('Standard', 'Planetflow3', 'feed');
     // TODO Test actual output contains item
 }
Exemplo n.º 3
0
 /**
  * @param \TYPO3\Form\Core\Model\FinisherContext $finisherContext
  * @return void
  * @throws \TYPO3\Setup\Exception
  */
 public function importSite(\TYPO3\Form\Core\Model\FinisherContext $finisherContext)
 {
     $formValues = $finisherContext->getFormRuntime()->getFormState()->getFormValues();
     if (isset($formValues['prune']) && intval($formValues['prune']) === 1) {
         $this->nodeRepository->removeAll();
         $this->workspaceRepository->removeAll();
         $this->domainRepository->removeAll();
         $this->siteRepository->removeAll();
         $this->persistenceManager->persistAll();
     }
     if (!empty($formValues['packageKey'])) {
         if ($this->packageManager->isPackageAvailable($formValues['packageKey'])) {
             throw new \TYPO3\Setup\Exception(sprintf('The package key "%s" already exists.', $formValues['packageKey']), 1346759486);
         }
         $packageKey = $formValues['packageKey'];
         $siteName = $formValues['packageKey'];
         $this->packageManager->createPackage($packageKey, NULL, Files::getUnixStylePath(Files::concatenatePaths(array(FLOW3_PATH_PACKAGES, 'Sites'))));
         $this->generatorService->generateSitesXml($packageKey, $siteName);
         $this->generatorService->generateSitesTypoScript($packageKey, $siteName);
         $this->generatorService->generateSitesTemplate($packageKey, $siteName);
         $this->packageManager->activatePackage($packageKey);
     } else {
         $packageKey = $formValues['site'];
     }
     if ($packageKey !== '') {
         try {
             $contentContext = new \TYPO3\TYPO3\Domain\Service\ContentContext('live');
             $this->nodeRepository->setContext($contentContext);
             $this->siteImportService->importFromPackage($packageKey);
         } catch (\Exception $exception) {
             $finisherContext->cancel();
             $this->flashMessageContainer->addMessage(new \TYPO3\FLOW3\Error\Error(sprintf('Error: During the import of the "Sites.xml" from the package "%s" an exception occurred: %s', $packageKey, $exception->getMessage())));
         }
     }
 }
Exemplo n.º 4
0
 public function deleteObject($being, $id)
 {
     $object = $this->persistenceManager->getObjectByIdentifier($id, $being);
     if ($object == null) {
         return;
     }
     $repositoryObject = $this->objectManager->get($this->getRepositoryForModel($being));
     $repositoryObject->remove($object);
     $this->persistenceManager->persistAll();
 }
Exemplo n.º 5
0
 /**
  * Creates a new ObjectPathMapping and stores it in the repository
  *
  * @param string $pathSegment
  * @param mixed $identifier
  * @return void
  */
 protected function storeObjectPathMapping($pathSegment, $identifier)
 {
     $objectPathMapping = new \TYPO3\FLOW3\Mvc\Routing\ObjectPathMapping();
     $objectPathMapping->setObjectType($this->objectType);
     $objectPathMapping->setUriPattern($this->getUriPattern());
     $objectPathMapping->setPathSegment($pathSegment);
     $objectPathMapping->setIdentifier($identifier);
     $this->objectPathMappingRepository->add($objectPathMapping);
     // TODO can be removed, when persistence manager has some memory cache
     $this->persistenceManager->persistAll();
 }