/** * On success node delete. * * @param string $locale * @param NodeInterface $node * * @return string */ public function onSuccess($locale, NodeInterface $node) { $event = $this->createTreeNodeEvent($locale, $node); $this->eventDispatcher->dispatch(TadckaTreeEvents::NODE_DELETE_SUCCESS, $event); $this->nodeManager->save(); return $this->translator->trans('success.delete_node', array('%title%' => $this->getNodeTitle($locale, $node)), 'TadckaSitemapBundle'); }
protected function setUp() { $this->nodeManager = $this->getMockBuilder('Tadcka\\Component\\Tree\\Model\\Manager\\NodeManagerInterface')->disableOriginalConstructor()->getMock(); $this->nodeManager->expects($this->any())->method('create')->willReturn($this->getMock('Tadcka\\Component\\Tree\\Model\\NodeInterface')); $this->treeProvider = $this->getMockBuilder('Tadcka\\Component\\Tree\\Provider\\TreeProviderInterface')->disableOriginalConstructor()->getMock(); $this->sitemapProvider = new SitemapProvider($this->nodeManager, $this->treeProvider); }
/** * {@inheritdoc} */ protected function setUp() { $this->nodeManager = $this->getMock('Tadcka\\Component\\Tree\\Model\\Manager\\NodeManagerInterface'); $this->nodeManager->expects($this->any())->method('findExistingNodeTypes')->will($this->returnValue(array('test', 'mock', 'fake'))); $this->nodeTypeRegistry = $this->getMock('Tadcka\\Component\\Tree\\Registry\\NodeType\\NodeTypeRegistry'); $this->nodeTypeRegistry->expects($this->any())->method('getConfigs')->will($this->returnValue(array(new NodeTypeConfig('Test', 'test'), new NodeTypeConfig('Mock', 'mock', array('test'), true)))); $this->nodeValidator = new NodeValidator($this->nodeManager, $this->nodeTypeRegistry); }
/** * Sitemap node online index action. * * @param string $locale * @param int $nodeId * * @return Response */ public function indexAction($locale, $nodeId) { $node = $this->responseHelper->getNodeOr404($nodeId); $jsonContent = $this->responseHelper->createJsonContent($node); $messages = new Messages(); if ($this->nodeOnlineHandler->process($locale, $messages, $node)) { $messages->addSuccess($this->nodeOnlineHandler->onSuccess($locale, $node)); $jsonContent->setToolbar($this->renderToolbar($node)); $this->nodeManager->save(); } $jsonContent->setMessages($this->responseHelper->renderMessages($messages)); return $this->responseHelper->getJsonResponse($jsonContent); }
/** * Validate by only one. * * @param string $nodeType * @param TreeInterface $tree * * @return bool */ public function validateByOnlyOne($nodeType, TreeInterface $tree) { if (!$nodeType) { return true; } $config = $this->getNodeTypeConfig($nodeType); if (null === $config) { return false; } if ($config->isOnlyOne()) { return !in_array($nodeType, $this->nodeManager->findExistingNodeTypes($tree)); } return true; }
/** * {@inheritdoc} */ public function getRootNode() { $tree = $this->treeProvider->getTree(TadckaSitemapBundle::SITEMAP_TREE); if (null === $tree) { throw new ResourceNotFoundException(sprintf('Tree %s not found', TadckaSitemapBundle::SITEMAP_TREE)); } $rootNode = $this->nodeManager->findRootNode($tree); if (null === $rootNode) { $rootNode = $this->nodeManager->create(); $rootNode->setTree($tree); $this->nodeManager->add($rootNode); } return $rootNode; }
/** * On node edit success. * * @param string $locale * @param NodeInterface $node * * @return string */ public function onEditSuccess($locale, NodeInterface $node) { $event = $this->createTreeNodeEvent($locale, $node); $this->eventDispatcher->dispatch(TadckaTreeEvents::NODE_EDIT_SUCCESS, $event); $this->nodeManager->save(); return $this->translator->trans('success.edit_node', array(), 'TadckaSitemapBundle'); }
/** * Get node or 404. * * @param int $nodeId * * @return NodeInterface * * @throws NotFoundHttpException */ public function getNodeOr404($nodeId) { $node = $this->nodeManager->findNodeById($nodeId); if (null === $node) { throw new NotFoundHttpException('Not found node!'); } return $node; }
/** * Create node. * * @param TreeInterface $tree * @param NodeInterface $parent * * @return NodeInterface */ private function createNode(TreeInterface $tree, NodeInterface $parent) { $node = $this->nodeManager->create(); $node->setTree($tree); $node->setParent($parent); $this->nodeManager->add($node); return $node; }
/** * {@inheritdoc} */ public function getRootNode(TreeInterface $tree) { return $this->nodeManager->findRootNode($tree); }
/** * On success. * * @param string $locale * @param NodeInterface $node * * @return string */ public function onSuccess($locale, NodeInterface $node) { $this->eventDispatcher->dispatch(TadckaTreeEvents::NODE_EDIT_SUCCESS, new TreeNodeEvent($locale, $node)); $this->nodeManager->save(); return $this->translator->trans('success.online_save', array('%locale%' => $locale), 'TadckaSitemapBundle'); }