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 }
/** * @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()))); } } }
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(); }
/** * 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(); }