/**
  * 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);
 }
Beispiel #5
0
 /**
  * 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;
 }
Beispiel #10
0
 /**
  * {@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');
 }